使用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,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
2021-10-12 vue——赋值后修改,原对象信息也会发生变化