当前位置:  开发笔记 > 编程语言 > 正文

Excel POI 3.5 WorkBook Java堆空间异常?

如何解决《ExcelPOI3.5WorkBookJava堆空间异常?》经验,为你挑选了1个好方法。

我正在使用最新的POI 3.5 for Excel阅读.我安装了Excel MS Office 2007,因为poi正在提供XSSF来执行数据.

对于15000行数据,它正在正常执行,但是当超过30000或100000或200000的限制时,它容易出现Java堆空间异常.

代码如下:

UATinput = new FileInputStream(UATFilePath);

uatBufferedInputStream = new BufferedInputStream(UATinput);

UATworkbook = new XSSFWorkbook(uatBufferedInputStream);

我在Java堆大小的最后一行得到了Exception.我已经增加了大小-Xms256m -Xmx1536m,但是对于更多数据,它给出了Java堆空间异常.

XSSFWorbook的这个例外可以帮助我吗?



1> Mihir Mathur..:

不要在内存中读取整个文件,而是尝试使用eventusermodel api

这是一种非常有效的内存读取大文件的方法.它的工作原理是SAX解析器(而不是DOM),因为它会在遇到特定数据结构时调用回调方法.它可能会有点棘手,因为它希望你知道底层数据的细节

在这里,您可以找到关于此主题的精彩教程

希望这可以帮助!

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有