内存高效的Java库来读取Excel文件?

时间:2011-01-20 20:52:48

标签: java excel memory file-io

是否有一个内存高效的Java库来读取大型Microsoft Excel文件(.xls和.xlsx)?我对Apache POI的经验非常有限,而且我记得它似乎是一个巨大的记忆力(尽管这可能仅仅是为了写作而不是为了阅读)。还有更好的东西吗?或者我是否错误记念和/或滥用POI?

拥有“友好”的开源许可证也很重要。

3 个答案:

答案 0 :(得分:5)

Apache的POI库有一个event-based API,占用内存较小。不幸的是,它只适用于HSSF(可怕的电子表格格式)而不适用于XSSF(XML电子表格格式 - 适用于OOXML文件)。

答案 1 :(得分:2)

Excel文件格式(巨大且极其复杂),任何读取所有可能内容的内容都将同样庞大而复杂。请记住,它们可以包含范围,宏,链接,嵌入的东西等。

但是,如果您正在阅读简单的数字网格,我建议您先将电子表格转换为简单的CSV格式,然后再阅读该格式。

答案 2 :(得分:0)

看看JExcel:

http://jexcelapi.sourceforge.net/

我无法解释内存占用情况,但很明显,对于大型电子表格,您需要消耗大量内存进行处理。

你应该可以将它用于xls和xlsx:

Read XLSX file in Java

相关问题