【三十一】springboot+easyExcel实现多文件导出压缩包

互相交流入口地址

整体目录:

【一】springboot整合swagger

【二】springboot整合自定义swagger

【三】springboot整合token

【四】springboot整合mybatis-plus

【五】springboot整合mybatis-plus

【六】springboot整合redis

【七】springboot整合AOP实现日志操作

【八】springboot整合定时任务

【九】springboot整合redis实现启动服务时热点数据保存在全局和缓存

【十】springboot整合quartz实现定时任务优化

【十一】springboot整合异步调用并获取返回值

【十二】springboot整合WebService

【十三】springboot整合WebService关于传参数

【十四】springboot整合WebSocket

【十五】springboot整合WebSocket实现聊天室

【十六】RabbitMQ基础篇(下载安装并基础使用,内含各种坑问题)

【十七】RabbitMQ基础篇(延迟队列和死信队列实战)

【十八】springboot实现自定义全局异常处理

【十九】初学Kafka并实战整合SpringCloudStream进行使用

【二十】springboot整合ElasticSearch实战(万字篇)

【二十一】springboot整合过滤器实战

【二十二】springboot整合拦截器实战并对比过滤器

【二十三】springboot整合activiti7(1)实战演示篇

【二十四】springboot整合spring事务详解以及实战

【二十五】springboot使用EasyExcel和线程池实现多线程导入Excel数据

【二十六】springboot整合jedis和redisson布隆过滤器处理缓存穿透

【二十七】springboot实现多线程事务处理

【二十八】springboot之threadLocal参数解析器实现session一样保存当前登录功能

【二十九】springboot整合logback实现日志管理

【三十】springboot项目上高并发解决示例

【三十一】springboot+easyExcel实现多文件导出压缩包

目录

1、测试数据

[2、 项目引入依赖](#2、 项目引入依赖)

3、代码

4、效果


场景:现在有一个需求,要求某公司将人员的简历信息批量导出成excel,以压缩包形式输出,例如筛选出1000个员工,并将他们的简历1000份导出,压缩成压缩包。

本文以一个简化的操作来进行demo演示,本文就以普通的列表导出为例。

1、测试数据

​

2、 项目引入依赖

复制代码
<!--   excel处理     -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.2.1</version>
        </dependency>

3、代码

此处demo我假设的是一个人会有多条集合的数据,也或与是一个对象结构的数据(比如简历填充)。根据实际情况改造一下即可。

先模拟查出假数据。

创建临时压缩文件,获取该文件的ZipOutputStream流。

再通过easyExcel的Workbook方式(可以采用多种方式),创建一个ByteArrayOutputStream,通过easyExcel将数据写入ByteArrayOutputStream,再将ByteArrayOutputStream写入ZipOutputStream。最后关闭ZipOutputStream。再将本地临时文件通过response.getOutputStream()的ServletOutputStream流输出,最后在删除本地缓存zip。

4、效果

如果有其他场景有疑问的欢迎评论区讨论。

相关推荐
nice_lcj5201 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
码农小河662 小时前
基于SSM+JSP+MySQL的在线医疗服务系统的设计与实现
java·开发语言·mysql
IT_陈寒2 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
系统集成-鹰翔2 小时前
ERP图片改名后仍命中识别缓存:缓存键、十分钟到期与调用计数
javascript·经验分享·后端
用户8356290780512 小时前
使用 Python 在 Excel 中添加和自定义迷你图
后端·python
码事漫谈2 小时前
给AI看一颗❤️,它就开始写递归了
后端
用户8356290780512 小时前
使用 Python 在 Excel 图表中添加趋势线与回归方程
后端·python
你三大爷3 小时前
Netty / Kafka / Redis 保序问题的源码对比与 NIO 框架主流解法
后端·架构
SL_staff3 小时前
从配置失效到逻辑复用:JVS-Logic 如何构建可治理的业务编排中枢
java·spring·产品
特立独行的猫A3 小时前
一份 Markdown 发十个平台:cspub 一稿多投
java·后端·python