1.创建表格;
2.编写导出的controller;
@PostMapping("/cust/report/customer/export")
public void export(HttpServletRequest request, HttpServletResponse response) {
List custList = customerService.findAllCustomer();
OutputStream out = null;
BufferedOutputStream bos = null;
try {
String fileName = "【客户统计报表】" + DateUtil.currentData() + ".xlsx";
response.setContentType("multipart/form-data");
response.setHeader("Content-disposition",
"attachment; filename=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));
out = response.getOutputStream();
bos = new BufferedOutputStream(out);
String templateFileName = CustomerController.class.getResource("/template/excel/customer.xlsx").getFile();
ExcelWriter excelWriter = EasyExcel.write(bos).withTemplate(templateFileName).build();
// 数据回填
WriteSheet writeSheet = EasyExcel.writerSheet().build();
excelWriter.fill(custList.getData(), writeSheet);
Map map = new HashMap();
map.put("exportDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
map.put("exportEmp", "导出人");
excelWriter.fill(map, writeSheet);
excelWriter.finish();
bos.flush();
} catch (Exception e) {
log.error("客户统计报表导出异常......{}", e);
} finally {
if (null != bos) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}