JAVA导出exce大数据量发生OOM异常

本文介绍了在JAVA处理大数据量Excel导出时遇到的OOM异常,推荐了EasyExcel作为解决方案。EasyExcel是一个轻量级、避免OOM的Java Excel处理工具,相比Apache POI,它降低了内存消耗,特别适合处理大文件。文章提供了EasyExcel的快速说明,示例所需依赖包,以及在处理大数据导出时应考虑的三个方面,强调在数据库和Java内存允许的情况下,优先考虑导出CSV格式以提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA导出exce大数据量发生OOM异常

一般来说出excel的方式,一种是poi方式的,一种是jxl方式的。这两种方式支持大量数据导出都有一定的问题,因此试图寻找一个新办法,找到了easyexcel

easyexcel说明

1. 快速、简单避免OOM的java处理Excel工具
2. java解析、生成Excel比较有名的框架有Apache poi、jxl。
3. 但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,
4. 但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,
5. 内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,
6. 能够原本一个3M的excel用POI sax依然需要100M左右内存降低到几M,
7. 再大的excel不会出现内存溢出,03版依赖POI的sax模式。
8. 在上层做了模型转换的封装,让使用者更加简单方便

easyexcel示例


如下是需要的一些包
easyexcel-1.0.4.jar
poi-ooxml-3.17.jar
xmlbeans-2.6.0.jar
commons-compress-1.14.jar
poi-scratchpad-3.17.jar
poi-ooxml-schemas-3.17.jar
poi-excelant-3.17.jar
poi-examples-3.17.jar
poi-3.17.jar
commons-collections4-4.1.jar

代码实例

public class ExcelTest extends
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值