0
点赞
收藏
分享

微信扫一扫

EasyExcel与EasyPoi性能对比

陈情雅雅 2022-01-28 阅读 146
javaexcel

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

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

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

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

导出的文件有67列

EasyExcel

导出条数查询时长写入时长共计时长文件大小
50万条分页2650983168110540
50万条不分页gc
20万条不分页105653339743976160m
10万条不分页5728205272625565.49m
1万不分页637186325282.52m

EasyPoi

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

导出条数查询时长写入时长共计时长文件大小
50万条分页29117185548
50万条不分页gc
20万条不分页gc
10万条不分页gc
1万不分页873624149711.4m

CSV

导出条数查询时长写入时长共计时长文件大小
50万条分页没测
50万条不分页gc
20万条不分页1304098472288795.94m
10万条不分页751837881130646.21m
1万不分页65757712345.27m

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

  1. 首先内存为1g时,50万条数据直接查出来,会直接gc,所以在不分页的情况下,都导不出来数据
  2. 在分页的情况下,阿里的easyExcel快75s
  3. 值得注意的是,导出的文件大小,同样的条数,xlsx文件要比xls小很多
  4. CSV是直接写入文件,所以又快又省事,但是客户人要excel呀。。。
举报

相关推荐

0 条评论