情景:在SpringBoot项目中遇到数据要导出到Excel,在此记录easypoi导出到Excel的实现方式。
第一步:maven导入easypoi包:
<!-- excel -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.2.0</version>
</dependency>
第二步:实现代码
/**
* 下载导入数据模板
*/
@RequestMapping(value = "downLoad")
public void downLoad(HttpServletResponse response) throws IOException {
ServletOutputStream sos = null;
try {
String title = "设备信息";//表格标题
String fileName = "设备信息导入模板.xls";
DeviceParameters deviceParameters = new DeviceParameters();
deviceParameters.setSbzcdm("3110441xxx2012060002");
List<DeviceParameters> list = deviceParametersService.findList(deviceParameters);//查询设备列表
ExportParams exportParams = new ExportParams(title, title);
exportParams.setDictHandler(new ExcelDictHandlerImpl());
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, DeviceParameters.class, list);
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=" + Encodes.urlEncode(fileName));
sos = response.getOutputStream();
workbook.write(sos);
} catch (Exception e) {
LoggerUtils.error(logger, e);
}
}
第三步:效果图
最后需要注意一下:easypoi 版本最好高一些,低版本有时会出现问题。
OK 就到这里啦