阅读大XLS和XLSX Excel格式
问题描述:
我想读书有大约40MB大小50MB大的Excel文件。
对于XLSX,我用它OPCPackage解决了这个问题,但现在我面临着XLS格式问题。
当我正常使用POI像POIFSFileSystem读取文件,我得到的Java 堆空间错误。
你能帮我解决这个问题吗?阅读大XLS和XLSX Excel格式
基本上,我们正在转换Excel文件为制表符分隔的文件。
OPCPackage pkg = OPCPackage.open(sourceFile.getPath(),
PackageAccess.READ);
让我知道你是否需要任何其他信息。
答
当你执行你的计划,你需要指定与-Xmx2g较大的最大堆大小(2演出的最大值)。请参阅“man java”。
+0
感谢您的答复。我想在理想的系统上测试它。而且我尝试过,但仍然是相同的错误。 – Chinna
答
由于explained in the Apache POI documentation, don't open with an InputStream when you have a File!
对于.xls
文件,你应该确保你使用Apache POI的新版本,然后用new POIFSFileSystem(File)打开容器,如
POIFSFileSystem fs = new POIFSFileSystem(new File("input.xls"));
// HSSF Event parsing code goes here
否则,请确保您使用HSSF event api如果记忆是一个问题,而可能是record-aware event api,如果你需要确保你检测丢失细胞
用于HSSFListener处理文件。 – Chinna