1 Star 11 Fork 8

wakeyang/多线程实现百万级数据导出到excel

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

多线程实现百万级数据导出到excel

考虑前提

大数据量导出到文件,首先需要考虑的是内存溢出的场景:数据库读取数据到内存中、将数据写入到excel进行大量的IO操作。然后考虑到一个文件数据过大,用户打开慢,体验不好。针对这些问题的考虑,采用多线程的方式多个线程同时处理查询数据,一个线程生成一个excel,最后在合并数据返回,以达到提高效率的目的。

实现思路

方式一 easyExecl结合批量线程池执行

优点:结合线程分批处理数据缩短查询数据库时间和导出数据时间,查询数据速度比较理想 接口:http://localhost:8080/exportEasyExcel?pageNum=0&pageSize=100000&limit=4000

方式二 easyExecl结合循环线程池执行

优点:结合线程分批处理数据缩短查询数据库时间和导出数据时间,查询数据速度不理想 接口:http://localhost:8080/exportEasyExcelV1?pageNum=0&pageSize=60000&limit=2000

方式三 SXSSFWorkbook结合批量线程池执行

优点:结合线程分批处理数据缩短查询数据库时间和导出数据时间,效果最优最理想 接口:http://localhost:8080/exportEasyExcelV4?pageNum=0&pageSize=30000&limit=2000

快速构建百万测试数据

  • sql/导出execl测试表.sql
  • com.wm.file.TestDemo.test1

空文件

简介

多线程实现百万级数据导出到excel 展开 收起
Java 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wakeyang/MultithreadedExportExcelData.git
git@gitee.com:wakeyang/MultithreadedExportExcelData.git
wakeyang
MultithreadedExportExcelData
多线程实现百万级数据导出到excel
master

搜索帮助