EasyExcel与EasyPoi性能对比

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

服务器配置: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呀。。。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: EasyExcelEasyPoi都是Java语言的Excel操作工具,但是它们有一些不同之处。 EasyExcel是一个基于阿里巴巴的开源项目,它提供了一种简单易用的方式来读写Excel文件。它支持大量的Excel文件格式,包括xls、xlsx、csv等。EasyExcel的API设计非常简洁,易于使用,可以快速地读取和写入Excel文件。 EasyPoi是一个基于Apache POI和Jxls的开源项目,它提供了一种简单易用的方式来读写Excel文件。它支持大量的Excel文件格式,包括xls、xlsx、csv等。EasyPoi的API设计非常灵活,可以根据需要进行定制,可以快速地读取和写入Excel文件。 总的来说,EasyExcelEasyPoi都是非常好的Excel操作工具,选择哪一个取决于你的具体需求和个人喜好。如果你需要一个简单易用的Excel操作工具,那么EasyExcel可能更适合你;如果你需要更灵活的API设计和更多的定制功能,那么EasyPoi可能更适合你。 ### 回答2: EasyExcelEasyPoi都是比较流行的Java开源框架,经常用于在Java程序中操作Excel文件。二者经常被拿来做比较,下面就EasyExcelEasyPoi进行一下对比。 1. 功能 EasyExcel官网宣称,它是基于POI封装的Excel操作工具类,功能更强大,抽象层次更高,不仅能够读写Excel,还能生成Html、PDF、Csv、Xml等常见的文件格式。而EasyPoi则强调自己是完全基于POI的Java Excel解决方案,具有简单、快速、高效的特点,对于Excel格式或者数据量较大的Excel文件操作也相对能够胜任。 2. 兼容性 EasyExcel的兼容性较好,支持Excel2003、2007、2010、2013、2016等多个版本,而EasyPoi的兼容性相对差一些,只能支持Excel2007以上版本,同时对于一些特殊的操作,可能需要用户先将Excel文件转换为2007版本及以上。 3. 性能 EasyPoi由于依赖了POI进行操作,所以性能相对较低,但也不到无法使用的程度。而EasyExcel在指定一些读写的参数和合理使用缓存等方法后,读写速度会有相应的提升。 4. 二次开发 EasyExcel具有较好的二次开发能力,提供自定义各种样式以及合并单元格的功能,能够根据需求进行修改。而EasyPoi则较难进行二次开发,需要使用者较为熟练掌握POI框架才可以做到自定义开发。 综上,EasyExcel更加全面、功能更强大,适用范围广;而EasyPoi的实现较为简单、易读易维护,适用于Excel操作相对简单的场景。因此,具体选择哪个框架还是要依据具体需求而定。 ### 回答3: EasyExcelEasyPoi都是Java领域中比较流行的Excel操作工具,它们的共同点是都提供了简单易用的API来实现读写Excel文档。但是,EasyExcelEasyPoi也有一些不同点。 EasyExcel相较于EasyPoi,易于学习和使用。EasyExcel的API简单易懂,只要了解Java POJO模型以及注解的使用就能快速上手,而EasyPoi需要详细了解Excel中的单元格和格式,例如设置单元格样式、合并单元格、数据校验等。另外,EasyExcel还提供了对多线程的支持,可以高效处理大数据文件。 EasyPoi相较于EasyExcel更加灵活,它不仅可以读写Excel文档,还可以操作Word、PowerPoint以及PDF文档。EasyPoi提供了更为精细的单元格样式设置、动态列宽调整等功能,并且对于Excel函数的支持也较为完善。 在使用场景上,EasyExcel更适合处理大量数据文件,例如数据导入、导出。而EasyPoi则更适合进行报表生成、模板导出等场景。 综上所述,EasyExcelEasyPoi都有各自的优点,在选择使用时需根据具体需求进行选择。如果需要处理大量数据文件,那么选择EasyExcel是最佳选择,如果需要处理各类Office文档,那么EasyPoi则是不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值