easy-poi
1. 表格设置
2. 依赖引入
在common中引入依赖
<!--easy-poi jar包引入 -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.2.0</version>
</dependency>
3. 执行
@RequestMapping("/exportBusinessReport")
public Result exportBusinessReport(HttpServletRequest request, HttpServletResponse response){
try{
Map<String,Object> result = reportService.getBusinessReportData();
// 目录结构: /webapp/template/report_template_easypoi.xlsx
// 系统分隔符:File.separator
TemplateExportParams params = new TemplateExportParams(
request.getSession().getServletContext().getRealPath("template")+ File.separator+"report_template_easypoi.xlsx");
Workbook workbook = ExcelExportUtil.exportExcel(params, result);
//使用输出流进行表格下载,基于浏览器作为客户端下载
OutputStream out = response.getOutputStream();
response.setContentType("application/vnd.ms-excel");//代表的是Excel文件类型
response.setHeader("content-Disposition", "attachment;filename=report.xlsx");//指定以附件形式进行下载
workbook.write(out);
out.flush();
out.close();
workbook.close();
return null;
}catch (Exception e){
return new Result(false,MessageConstant.GET_BUSINESS_REPORT_FAIL);
}
}
4. 页面下载
methods:{
//导出Excel报表
exportExcel(){
window.location.href = '/report/exportBusinessReport.do';
}
}