0

我们正在使用 java 和ODF Toolkit从 ods 和 excel 文件中读取行。

问题是,即使您只想读取 1 行,也会加载整个文档,并且 50.000 行 ods 文件的内存使用量约为 350 MB。

所以我正在寻找一种通过分页读取行的方法。任何机会

Edit1:请不要建议POI,就像 ODF Toolkit 一样工作。

Edit2 :我接受了一个答案,但它只适用于 Excel 文件,并且 ODS 文件没有答案。

4

2 回答 2

1

将 .ods 转换为 .xls /.xlsx 并使用更成熟的 poi api 可能会有所帮助。它允许读取特定的行/单元格,您可以使用它们来防止超出内存限制。

于 2013-10-22T13:28:04.530 回答
0

另一种方法可能是使用 JDBC 加载行。

周围有各种 JDBC Excel 驱动程序,包括:

https://code.google.com/p/sqlsheet/

也可以看看:

使用 jdbc 连接到 Excel 工作表而不指定 DSN 到 Excel 工作表

于 2013-10-23T09:28:34.887 回答