Java导出多个excel压缩成zip下载

  • maven
     <!--hutoos工具类根据需要可以导入不同的模块,我这里是导入全部的模块--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.8</version></dependency><!--poi对excel2007以上版本的支持--><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>
  • 代码
@SneakyThrows@GetMapping("downloads1")public void downloads1(HttpServletResponse response){// 压缩包名称String zipFileName = "student.zip";ServletOutputStream servletOutputStream = response.getOutputStream();try (ZipOutputStream zipOutputStream = new ZipOutputStream(servletOutputStream)) {for (int i = 0; i < 2; i++) {Map<String, Object> row1 = new LinkedHashMap<>();row1.put("姓名", "张三");row1.put("年龄", 23);row1.put("成绩", 88.32);row1.put("是否合格", true);row1.put("考试日期", DateUtil.date());Map<String, Object> row2 = new LinkedHashMap<>();row2.put("姓名", "李四");row2.put("年龄", 33);row2.put("成绩", 59.50);row2.put("是否合格", false);row2.put("考试日期", DateUtil.date());ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);// 通过工具类创建writerExcelWriter writer = ExcelUtil.getWriter();// 合并单元格后的标题行,使用默认标题样式writer.merge(row1.size() - 1, "一班成绩单" + i);// 写表格数据writer.write(rows);ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();// 把Excel刷入输出流writer.flush(byteArrayOutputStream);// 设置ZipEntry名称(这里等于excel名称)zipOutputStream.putNextEntry(new ZipEntry("ExcelName" + i + ".xls"));// 将输入流转换成压缩ZipEntryzipOutputStream.write(byteArrayOutputStream.toByteArray());zipOutputStream.flush();// 关闭writer,释放内存writer.close();zipOutputStream.closeEntry();}//response为HttpServletResponse对象response.setContentType("application/vnd.ms-excel;charset=utf-8");//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码response.setHeader("Content-Disposition", "attachment;filename=test.xls");response.setContentType("text/html; charset=UTF-8");response.setContentType("application/octet-stream");response.setHeader("Content-Disposition", "attachment;filename=".concat(String.valueOf(URLEncoder.encode(zipFileName, "UTF-8"))));}servletOutputStream.close();}
  • 效果图
  • 文件内容

Java导出多个excel压缩成zip下载相关推荐

  1. java导出excel压缩包_java动态导出excel压缩成zip下载的方法

    本文实例为大家分享了java动态导出excel压缩成zip下载的具体代码,供大家参考,具体内容如下 package pack.java.io.demo; import java.io.Buffered ...

  2. java批量文件打包成压缩成zip下载和大量数据导出excel时的处理方法

    对于我们来说,java导出数据成excel或其他数据文件,或者下载资源是开发中的家常便饭, 但是在导出的时候,如果点击一个按钮导出几百万条数据,如果不作处理的话很可能会出现一系列的问题. 这里介绍打包 ...

  3. java后台批量下载文件并压缩成zip下载

    因项目需要,将服务器上的图片文件压缩打包zip,下载到本地桌面. 首先,前端js: function doQueryPic() {var picsDate = $("#picsDate&qu ...

  4. java导出多个excel并打成zip包

    这里主要是要针对数据量过大,通过生成多个excel文件并打成一个zip压缩包提供下载. 压缩excel的类  ZipUtil: Java代码   import java.io.*; import ja ...

  5. easypoi导出多个Excel压缩zip下载

    easypoi导出多个Excel压缩zip下载 maven <!-- 导入和导出--><dependency><groupId>cn.afterturn</g ...

  6. Java实现将文件或者文件夹压缩成zip

    Java实现将文件或者文件夹压缩成zip 最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类.但找了好多篇博客,总是发现有bug.因此就自己来写了个工具类. 这个工具类的功 ...

  7. java 把文件压缩成zip文件

    ackage org.fh.util;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStr ...

  8. java zip压缩 加密码_java 压缩成zip文件、解压zip文件(可设置密码)

    1.情景展示 java实现将文件夹进行压缩打包的功能及在线解压功能 2.解决方案 方式一:压缩.解压zip 准备工作:slf4j-api.jar org.slf4j slf4j-api 1.7.25 ...

  9. Java将指定文件/文件夹压缩成zip、rar压缩文件

    import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream;import java.io.*; ...

最新文章

  1. (翻译) MongoDB(13) 在 Ubuntu 上安装MongoDB社区版
  2. mysql 非等值条件 索引_mysql 索引学习--多条件等值查询,顺序不同也能应用联合索引啦...
  3. Unity-3d Day03
  4. java8 监控文件变化_[Java 8] (4) 列举目录下的所有文件和监视文件变化
  5. python3.7如何使用enum_Python3.4 枚举类型的使用
  6. android最好的3d游戏机,终极盘点:Android必玩十大超猛3D游戏
  7. ssh无密码登陆权威指南
  8. vue.js java php_准吗?Java程序员喜欢AngularJS,PHP程序员喜欢Vue.js!
  9. Flink的Window
  10. 万用表怎么测量电池容量_万用表检测光电耦合器的常用技巧
  11. UTC/GMT 时间转换
  12. 诗与远方:无题(十八)
  13. 转: MySql数据引擎简介与选择方法
  14. [查阅]MSIL Instruction Set
  15. 双层PDF的制作——使用PDF4NET 3.3.6 实现
  16. python opencv显示高分辨率图片时,如何改变窗口的大小
  17. 计算机系统繁体环境,繁体简体转换
  18. 【180629】VC++ QQ头像连连看游戏源码
  19. SD-WAN,边缘网络和安全性大热
  20. 25 网站应用攻击与防御

热门文章

  1. 翻译翻译什么叫HTML5(六)“开门,js来查水表啦”
  2. Windows无法安装,选中的磁盘为GPT分区形式 --解决办法
  3. 俞敏洪:35岁前如何实现自我增值?
  4. 如何在 Windows 上安装 ONLYOFFICE 文档 v7.2
  5. 图片扩展名如何修改,转换图片格式轻松搞定
  6. A3Mall电商平台——测试计划
  7. 猫眼api html,python爬取动态数据实战---猫眼专业版-实时票房(二)
  8. Linux进程中有xorg,Linux黑话解释:Xorg,X11,Wayland,什么是显示服务器
  9. ACPC2015 K 树的直径
  10. 如何做好 Elasticsearch 性能指标监控