2017-09-01 106 views
0

根据需要,我的应用程序首先需要读取一个大约75K-100K行,90列的Excel文件。但是,在第2行中出现以下异常,而XSSFWorkbook加载了pkg /文件Apache POI 3.16 - 使用XSSF读取75​​K行的OutOfMemory异常EXCEL(.xlsx)

线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间 at com.sun.org.apache.xerces.internal。 dom.DeferredDocumentImpl.createChunk(Unknown Source)

我使用下面的代码来读取excel文件和当前分配给堆的1 GB内存,我甚至无法读取15K行文件。

1 OPCPackage pkg = OPCPackage.open(“C:/Users/Admin/eclipse-workspace/HelloWorld/src/data.xlsx”); 2 XSSFWorkbook wb = new XSSFWorkbook(pkg);

//阅读需要更新 1的FileInputStream INPUTFILE =新的FileInputStream电子表格( “C:/Users/Admin/eclipse-workspace/HelloWorld/src/data.xlsx”);
2 XSSFWorkbook wb = new XSSFWorkbook(inputFile);

请让我知道是否有任何解决方案,或者是否有任何其他库或框架可供Java读取大型Excel文件。

回答

0

您必须使用流方法,这种巨大的文件,

参考此链接了解详情:here

+2

SXSSF是写作,不是读书。 – kiwiwings

相关问题