hutool地址
https://hutool.cn/docs/#/poi/Excel%E5%A4%A7%E6%95%B0%E6%8D%AE%E7%94%9F%E6%88%90-BigExcelWriter
依赖坐标
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.12</version>
</dependency>
代码示例
List data;
List data2;
// excel导出
try (BigExcelWriter writer = (BigExcelWriter) ExcelUtil.getBigWriter()) {
// hutool默认会给第一个sheet设置名字,使用时rename一下
writer.renameSheet(0, "A-1表");
// 定义单元格背景色
Font font = writer.createFont();
font.setBold(true);
writer.getHeadCellStyle().setFont(font);
for (int i = 0; i < 3; i++) {
writer.setColumnWidth(i, 25);
}
// 自定义表头
writer.addHeaderAlias("类属性名", "excel列名");
writer.addHeaderAlias("类属性名", "excel列名");
// 只写添加了别名的字段
writer.setOnlyAlias(true);
writer.write(data);
writer.setSheet("A-2表");
// 定义单元格背景色
font = writer.createFont();
font.setBold(true);
writer.getHeadCellStyle().setFont(font);
writer.getHeadCellStyle().setFont(font);
for (int i = 0; i < 3; i++) {
writer.setColumnWidth(i, 25);
}
// 自定义表头
writer.addHeaderAlias("类属性名", "excel列名");
writer.addHeaderAlias("类属性名", "excel列名");
// 只写添加了别名的字段
writer.setOnlyAlias(true);
writer.write(data2);
response.setContentType("application/vnd.ms-excel;charset=utf-8");
String fileName = URLEncoder.encode("xxx_" + LocalDateTime.now().toLocalDate() + ".xlsx", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
writer.flush(response.getOutputStream(), true);
} catch (Exception e) {
log.info("导出excel异常", e);
}