easypoi-zip压缩导出
准备
参数说明
Map<String, Workbook> workbookMap: key 压缩的文件名称 value 当前导出已处理的数据
public static void downloadExcelForZip(HttpServletResponse response, Map<String, Workbook> workbookMap, String zipName) { try { response.setContentType("application/*"); response.setHeader("content-disposition", "attachment;filename=" + new String(zipName.getBytes("gb2312"), "ISO8859-1") + ".zip"); response.setCharacterEncoding("UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } try { ServletOutputStream outputStream = response.getOutputStream(); ZipOutputStream out = new ZipOutputStream(outputStream); for (String fileName : workbookMap.keySet()) { Workbook workbook = workbookMap.get(fileName); ZipEntry entry = new ZipEntry(fileName); //写入压缩文件格式.xls out.putNextEntry(new ZipEntry(entry + ".xls")); //这里讲一下,workBook.write会指定关闭数据流,如果这里直接用workbook.write(out),下次就会抛出out已被关闭的异常,所有用ByteArrayOutputStream来拷贝一下。 ByteArrayOutputStream bos = new ByteArrayOutputStream(); workbook.write(bos); bos.writeTo(out); // 关闭输入流 out.closeEntry(); } if (out != null) { out.flush(); out.close(); } } catch (IOException e) { e.printStackTrace(); } }
步骤1
参数说明
映射实体类常用注解maven依赖查看官网 http://easypoi.mydoc.io/
list: 导出的数据List集合 title: 表头 ExcelDto: 映射实体类 row: 导出数据集合
fileNmae: 根据自己业务定义-保证唯一性 zipfileNmae: 压缩文件名
Map<String, Workbook> workbook = new HashMap<>(); for (Object obj : list) { List<ExcelDto> row = 查询导出数据; Workbook workbook= ExcelExportUtil.exportExcel(new ExportParams(title, ""), ExcelDto.class, row); workbook.put(fileNmae, workbook); } downloadExcelForZip(response, workbook, zipfileNmae);
Maven依赖
<!-- Excel导出 -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.1.0</version>
<exclusions>
<exclusion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.1.0</version>
<exclusions>
<exclusion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</dependency>

浙公网安备 33010602011771号