1.pom文件加入jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
</dependency>
2.代码案例
@RequestMapping("/download")
public static ResponseEntity<Void> download(HttpServletResponse response) throws IOException {
ResponseEntity<Void> responseEntity = new ResponseEntity<>();
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("过人数据", "UTF-8");
List<EasyExcelTestVO> easyExcelTestVOList = new ArrayList<>();
EasyExcelTestVO easyExcelTestVO = new EasyExcelTestVO();
easyExcelTestVO.setName("孙悟空").setAge(800).setMobile("15688888888");
easyExcelTestVO.setImg(new URL("http://10.0.6.26/data/phonecall/result_img/2022-09-08/00007.jpg"));
easyExcelTestVOList.add(easyExcelTestVO);
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
EasyExcel.write(response.getOutputStream(), EasyExcelTestVO.class).autoCloseStream(Boolean.FALSE).sheet("测试数据").doWrite(easyExcelTestVOList);
return responseEntity;
}
3.实体类
@Data
@ToString
@Builder
@ApiModel(description = "审核列表导出")
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ColumnWidth(30)
@ContentRowHeight(50)
@Excel(value = "资源上报")
@ContentFontStyle(fontHeightInPoints = 13)
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER, wrapped = BooleanEnum.TRUE)
public class EasyExcelTestVO {
@ExcelProperty(value = "姓名", index = 4)
@ApiModelProperty(value = "姓名")
private String name;
@ExcelProperty(value = "年龄", index = 3)
@ApiModelProperty(value = "年龄")
private Integer age;
@ExcelProperty(value = "手机号", index = 2)
@ApiModelProperty(value = "手机号")
private String mobile;
@ExcelProperty(value = "图片", index = 1)
@ApiModelProperty(value = "图片")
private URL img;
}