2017-09-01 110 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

相關問題