使用EasyExcel写入Excel后,将多个Excel打包为ZIP压缩包下载
概述
使用EasyExcel写入Excel后,将多个Excel打包为ZIP压缩包下载
代码
@GetMapping("/downloadToZip")
public void downloadToZip(HttpServletResponse response){
// 设置响应头
response.setContentType("application/zip");
response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
String fileName = URLEncoder.encode("测试压缩包", StandardCharsets.UTF_8.toString());
response.setHeader("Content-Disposition", "attachment; filename="+fileName+".zip");
// 多个Excel
List<String> excelNameList = Arrays.asList("测试1", "测试2");
// 按照表格,循环处理导出数据,可优化为多线程处理
try (ZipOutputStream zos = new ZipOutputStream(response.getOutputStream())) {
for (int i = 0; i < excelNameList.size(); i++) {
String excelName = excelNameList.get(i);
ZipEntry entry = new ZipEntry(excelName + ".xlsx");
zos.putNextEntry(entry);
// 模板与数据
String excelModelFilePath = "/xxx/xxx/xxx/模板.xlsx";
Map<String, List> sheetMap = new HashMap<>();
sheetMap.put("Sheet1", new ArrayList<>());
sheetMap.put("Sheet2", new ArrayList<>());
// 写入Excel数据并获取写入后的Excel的byte[]
byte[] exportExcelByte = service.writeExcelData(excelModelFilePath, sheetMap);
zos.write(exportExcelByte);
}
}
}
writeExcelData()方法地址
Springboot使用EasyExcel 的填充模板导出,导出为多Sheet工作簿
作者:假装空白
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
分类:
Java学习——笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2021-10-12 vue——赋值后修改,原对象信息也会发生变化