实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AreaEntity implements Serializable {
private static final long serialVersionUID = -6737659542965453627L;
@ExcelProperty(value = "编号ID",index = 0)
private int id;
@ExcelProperty(value = "区域ID",index = 1)
private String areaid;
@ExcelProperty(value = "区域名称",index = 2)
private String area;
@ExcelProperty(value = "城市ID",index = 3)
private String cityid;
}
controller层
@GetMapping("/download")
public void download(HttpServletResponse response) throws IOException {
//从数据库查询的数据
List<AreaEntity> list = areaService.select();
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
String fileName = URLEncoder.encode("测试", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
EasyExcel.write(response.getOutputStream(), AreaEntity.class).sheet("模板").doWrite(list);
}
测试结果