【三十一】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、 项目引入依赖

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、效果

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

相关推荐

  1. EasyExcel线程导出实现Zip压缩

    2024-05-13 05:58:07       48 阅读
  2. Linux实战笔记() 文件压缩

    2024-05-13 05:58:07       42 阅读
  3. golang 读取压缩文件 && 写文件

    2024-05-13 05:58:07       54 阅读
  4. 文件导入导出【开发实践

    2024-05-13 05:58:07       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 05:58:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 05:58:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 05:58:07       82 阅读
  4. Python语言-面向对象

    2024-05-13 05:58:07       91 阅读

热门阅读

  1. Redis 本机无法访问

    2024-05-13 05:58:07       31 阅读
  2. conda 常用20个命令

    2024-05-13 05:58:07       32 阅读
  3. SQLite 命令

    2024-05-13 05:58:07       36 阅读
  4. Unix/Linux C语言 获取控制台窗口尺寸

    2024-05-13 05:58:07       34 阅读
  5. vue-router(路由)

    2024-05-13 05:58:07       30 阅读
  6. 【CV】计算机视觉是什么?

    2024-05-13 05:58:07       25 阅读
  7. 排序算法大全(附源码)

    2024-05-13 05:58:07       36 阅读