Java导出多个excel压缩成zip下载
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下载相关推荐
- java导出excel压缩包_java动态导出excel压缩成zip下载的方法
本文实例为大家分享了java动态导出excel压缩成zip下载的具体代码,供大家参考,具体内容如下 package pack.java.io.demo; import java.io.Buffered ...
- java批量文件打包成压缩成zip下载和大量数据导出excel时的处理方法
对于我们来说,java导出数据成excel或其他数据文件,或者下载资源是开发中的家常便饭, 但是在导出的时候,如果点击一个按钮导出几百万条数据,如果不作处理的话很可能会出现一系列的问题. 这里介绍打包 ...
- java后台批量下载文件并压缩成zip下载
因项目需要,将服务器上的图片文件压缩打包zip,下载到本地桌面. 首先,前端js: function doQueryPic() {var picsDate = $("#picsDate&qu ...
- java导出多个excel并打成zip包
这里主要是要针对数据量过大,通过生成多个excel文件并打成一个zip压缩包提供下载. 压缩excel的类 ZipUtil: Java代码 import java.io.*; import ja ...
- easypoi导出多个Excel压缩zip下载
easypoi导出多个Excel压缩zip下载 maven <!-- 导入和导出--><dependency><groupId>cn.afterturn</g ...
- Java实现将文件或者文件夹压缩成zip
Java实现将文件或者文件夹压缩成zip 最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类.但找了好多篇博客,总是发现有bug.因此就自己来写了个工具类. 这个工具类的功 ...
- java 把文件压缩成zip文件
ackage org.fh.util;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStr ...
- java zip压缩 加密码_java 压缩成zip文件、解压zip文件(可设置密码)
1.情景展示 java实现将文件夹进行压缩打包的功能及在线解压功能 2.解决方案 方式一:压缩.解压zip 准备工作:slf4j-api.jar org.slf4j slf4j-api 1.7.25 ...
- Java将指定文件/文件夹压缩成zip、rar压缩文件
import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream;import java.io.*; ...
最新文章
- (翻译) MongoDB(13) 在 Ubuntu 上安装MongoDB社区版
- mysql 非等值条件 索引_mysql 索引学习--多条件等值查询,顺序不同也能应用联合索引啦...
- Unity-3d Day03
- java8 监控文件变化_[Java 8] (4) 列举目录下的所有文件和监视文件变化
- python3.7如何使用enum_Python3.4 枚举类型的使用
- android最好的3d游戏机,终极盘点:Android必玩十大超猛3D游戏
- ssh无密码登陆权威指南
- vue.js java php_准吗?Java程序员喜欢AngularJS,PHP程序员喜欢Vue.js!
- Flink的Window
- 万用表怎么测量电池容量_万用表检测光电耦合器的常用技巧
- UTC/GMT 时间转换
- 诗与远方:无题(十八)
- 转: MySql数据引擎简介与选择方法
- [查阅]MSIL Instruction Set
- 双层PDF的制作——使用PDF4NET 3.3.6 实现
- python opencv显示高分辨率图片时,如何改变窗口的大小
- 计算机系统繁体环境,繁体简体转换
- 【180629】VC++ QQ头像连连看游戏源码
- SD-WAN,边缘网络和安全性大热
- 25 网站应用攻击与防御
热门文章
- 翻译翻译什么叫HTML5(六)“开门,js来查水表啦”
- Windows无法安装,选中的磁盘为GPT分区形式 --解决办法
- 俞敏洪:35岁前如何实现自我增值?
- 如何在 Windows 上安装 ONLYOFFICE 文档 v7.2
- 图片扩展名如何修改,转换图片格式轻松搞定
- A3Mall电商平台——测试计划
- 猫眼api html,python爬取动态数据实战---猫眼专业版-实时票房(二)
- Linux进程中有xorg,Linux黑话解释:Xorg,X11,Wayland,什么是显示服务器
- ACPC2015 K 树的直径
- 如何做好 Elasticsearch 性能指标监控