EasyExcel与EasyPoi性能对比

最近在搞导出的一个服务,老板让对一些框架做一个分析,所以有了这篇文章。

服务器配置:2核16g内存

服务配置:java最大堆栈内存为1g

  • EasyExcel 阿里维护的一款导出框架,导出的为xlsx,在单sheet页上,理论上没有行数限制
  • EasyPoi 这是比较常见的,导出格式为xls,在条数超过6万行,会增加sheet页
  • CSV导出,更常见了,一种以逗号分割格式的文件,不存在行数限制

导出的文件有67列

EasyExcel

导出条数 查询时长 写入时长 共计时长 文件大小
50万条分页 26509 83168 110540
50万条不分页 gc
20万条不分页 10565 33397 43976 160m
10万条不分页 5728 20527 26255 65.49m
1万不分页 637 1863 2528 2.52m

EasyPoi

EasyPoi 有个大数据导出的方法,但是与EasyExcel相比,实在是太慢,所以就不测它的其他条数的分页了。

导出条数 查询时长 写入时长 共计时长 文件大小
50万条分页 29117 185548
50万条不分页 gc
20万条不分页 gc
10万条不分页 gc
1万不分页 873 624 1497 11.4m

CSV

导出条数 查询时长 写入时长 共计时长 文件大小
50万条分页 没测
50万条不分页 gc
20万条不分页 13040 9847 22887 95.94m
10万条不分页 7518 3788 11306 46.21m
1万不分页 657 577 1234 5.27m

说下自己通过这个表看出来的结论吧:有不对的还请指正。

  1. 首先内存为1g时,50万条数据直接查出来,会直接gc,所以在不分页的情况下,都导不出来数据
  2. 在分页的情况下,阿里的easyExcel快75s
  3. 值得注意的是,导出的文件大小,同样的条数,xlsx文件要比xls小很多
  4. CSV是直接写入文件,所以又快又省事,但是客户人要excel呀。。。
版权声明:程序员胖胖胖虎阿 发表于 2023年8月31日 上午1:24。
转载请注明:EasyExcel与EasyPoi性能对比 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...