导出数据有多种方式,如POI等。这是一个导出全部list的控制器代码:
@Controller
public class EmpController {
@Resource
private EmpService empService;
@RequestMapping("/export")
public String ExporExcel(HttpServletResponse response) throws Exception { //throws IOException {
OutputStream out = response.getOutputStream();
ExcelWriter writer =null;
String fileName = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
try {
fileName =sdf.format(new Date());
//添加响应头信息
response.setHeader("Content-disposition", "attachment; filename=" + fileName+"export.xlsx");
response.setContentType("application/msexcel;charset=UTF-8");//设置类型
response.setHeader("Pragma", "No-cache");//设置头
response.setHeader("Cache-Control", "no-cache");//设置头
response.setDateHeader("Expires", 0);//设置日期头
EasyExcel.write(out,Emp.class).sheet("导出数据").doWrite(empService.findAll());
writer.finish();
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
response.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}
说明:EasyExcel.write方法中的几个参数是很重要的,如表头的设置、数据源等。