@GetMapping(value = "/export/orderTemplateZip")
@Operation(summary = "下载需求导入模板zip")
public void exportTemplateZip(HttpServletResponse response) throws IOException {
String zipFileName = URLEncoder.encode("需求导入模板", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + zipFileName + ".zip");
response.setContentType("application/x-msdownload");
response.setCharacterEncoding("utf-8");
try (ZipOutputStream zipOut = new ZipOutputStream(response.getOutputStream());
ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
zipOut.putNextEntry(new ZipEntry("****需求导入表.xlsx"));
//开始写入excel
ArrayList<OrderTemplateZipBO.MTCOExcelTemplate> mtcoExcelTemplates = new ArrayList<>(1);
OrderTemplateZipBO.MTCOExcelTemplate mtcoExcelTemplate = new OrderTemplateZipBO.MTCOExcelTemplate();
mtcoExcelTemplate.setMtco("G5ZC2D00001");
mtcoExcelTemplate.setAmount(900);
mtcoExcelTemplate.setRemarks("");
mtcoExcelTemplates.add(mtcoExcelTemplate);
EasyExcel.write(outputStream, OrderTemplateZipBO.MTCOExcelTemplate.class) .autoCloseStream(false)
// 基于 column 长度,自动适配。最大 255 宽度
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())//可以省略
.sheet("**需求导入表").doWrite(mtcoExcelTemplates);
outputStream.writeTo(zipOut);
zipOut.closeEntry();
outputStream.reset();//不重置无法打开后面的excel
zipOut.putNextEntry(new ZipEntry("****需求导入表.xlsx"));
ArrayList<OrderTemplateZipBO.APPExcelTemplate> APPExcelTemplates = new ArrayList<>(1);
OrderTemplateZipBO.APPExcelTemplate APPExcelTemplate = new OrderTemplateZipBO.APPExcelTemplate();
APPExcelTemplate.setApp("******");
APPExcelTemplate.setCompact("******");
APPExcelTemplate.setRemarks("大区报备");
APPExcelTemplates.add(APPExcelTemplate);
EasyExcel.write(outputStream, OrderTemplateZipBO.APPExcelTemplate.class) .autoCloseStream(false)
// 基于 column 长度,自动适配。最大 255 宽度
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.sheet("APP需求导入表").doWrite(APPExcelTemplates);
outputStream.writeTo(zipOut);
zipOut.closeEntry();
} catch (Exception e) {
// 重置response
response.reset();
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().println("下载文件失败" + e.getMessage());
}
}
多个easyexcel合并压缩下载
最新推荐文章于 2025-06-26 11:35:09 发布