如何以编程方式(.xlsx)以块为单位读取excel文件,即在5000行的组中,在Android应用程序中?

时间:2013-12-22 08:26:19

标签: java android dalvik

大家好, 我可以用1000行成功读取excel表。但是如果行数大于5000而不是我的误差。

  

java.lang.OutOfMemoryError:[内存耗尽]       在dalvik.system.NativeStart.main(本地方法)

因为我正在将整个excel文件加载到内存中而出现错误。无论如何我都可以读取块中的excel文件,以便减少内存消耗? 我正在使用“Aspose Cells for Android”库来读取excel文件。请帮忙。

1 个答案:

答案 0 :(得分:1)

.xlsx文件实际上是基于xml的压缩文件,这就是为什么它们占用的磁盘空间小于传统的.xls格式。您可以将文件扩展名更改为.zip以检查内部。

那么API的作用是首先取消压缩文件,然后读取它。 在解压缩期间可能会发生内存耗尽。

如果大小为10Mb,内存中实际未压缩的大小可能超过1Gb,您可以尝试通过在Android中添加更多可视内存来配置手机。

或者只是将大文件剪切到一个文件夹中的PC中的小文件片段,然后使用您的应用程序处理该文件夹。