这对我来说是一项非常具有挑战性的任务,因为我正在做很多R& D以在XLSX转换为CSV期间摆脱OutOfMemroyError并且我的excel文件可以有三张纸,每张纸有60000行。 我最近使用了XSSF和SAX(事件API),因为这种方法消耗的内存非常少。但是,事件API仅触发事件中实际存储的事件,这可能对我有用。
在此事件API方法的早期,我使用Workbook类处理XLSX文件,并最终在下面提供的此工作簿创建期间内存不足。
工作簿工作簿= WorkbookFactory.create(新文件(“myfile.xlsx”));
那么,使用apache POI处理大量XLSX数据的最佳方法是什么?
答案 0 :(得分:1)
以下是使用sax解析器读取大型xls文件的示例。 Sax解析器将帮助您避免OOM异常。