基于EasyPoi的使用导出Excel文件步骤记录
首先导入pom依赖
<!--easy poi依赖-->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.1.3</version>
</dependency>
其次在需要导出的字段进行注解
例如:
- 第①种情况导出基本数据类型的字段
@Excel(name="编号")
private int ID;
- 第②种情况导出引用类型中某个基本类型的字段
- 在成员属性上加上@ExcelEntity(name=“xxx”,width=xxx,format=“yyyy-MM-dd”)
@ExcelEntity(name="职位")
private Position position;
- 在此成员属性的类中加上@Excel(name=“xxx”)
@Excel(name="职位")
private String name;
然后在需要controller中加上
@ApiOperation(value = "导出用户信息")//swagger2注解
@GetMapping(value = "/export",produces = "application/octet-stream")
public void exportEmployee(HttpServletResponse response){
//数据库中查出的需要导出的数据
List<Employee> list=employeeService.getEmployee(null);
ExportParams params = new ExportParams("员工表", "员工表", ExcelType.HSSF);
Workbook workbook = ExcelExportUtil.exportExcel(params, Employee.class, list);
ServletOutputStream out=null;
try{
response.setHeader("content-type","application/octet-stream");
response.setHeader("content-disposition","attachment;filename="+ URLEncoder.encode("员工表.xls","UTF-8"));
out= response.getOutputStream();
workbook.write(out);
}catch (Exception e) {
e.printStackTrace();
}finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最后测试
-
访问controller
-
下载的文件