我们正在使用java和ODF Toolkit来读取ods和excel文件中的行。
问题在于,即使您只想读取1行,也会加载整个文档,并且50,000行ods文件的内存使用量大约为350 MB。
所以我正在寻找一种通过分页来读取行的方法。任何机会
Edit1:请不要提示POI,就像ODF Toolkit一样。
Edit2:我接受了答案,但它只适用于Excel文件,并且没有ODS文件的答案。
答案 0 :(得分:0)
将.ods转换为.xls /.xlsx并使用更成熟的poi api可能会有所帮助。它允许读取特定的行/单元格,您可以使用它来防止超出内存限制。
答案 1 :(得分:0)
另一种方法可能是使用JDBC加载行。
有各种各样的JDBC Excel驱动程序,包括:
https://code.google.com/p/sqlsheet/
另见:
Connecting to excel sheet using jdbc without specifying DSN to Excel sheet