POI读取xlsx导致OutOfMeory

本文介绍使用Apache POI处理大型XLSX文件时遇到的内存溢出问题及解决方案。通过分析发现,直接使用POI读取大型文件会导致高内存消耗。文章推荐采用Event API Model方式读取文件,并解释了此方法的基本原理。

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

用poi读取2个xlsx再进行比较,结果跑一会儿就OutOfMenory。 2个x http:// lsx文件大小14M, 发现最小需要配置5个G的JVM内存才能勉强跑起来。 各种google,baidu貌似大家都有这个问题。  SXSSFWorkbook只能用来写xlsx文件,不能进行读,如果是要写大的xlsx文件可以使用这个。如果要读取稍大的xlsx文件,可以使用poi的event API model来操作, 这个方法需要了解下xlsx的文件结构, 把一个xlsx文件,后缀改为zip文件,然后解压缩,可以发现xlsx文件是已xml的形式来组织文件的。 poi的这个API就类似于用SAXParser来操作XML。 这是官网上的一个例子可以参考 XSSF and SAX(Event API) 希望对有同样问题的有所帮助
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值