java.lang.OutOfMemoryError:使用XLSReader将Excel文件读入java bean时的Java堆空间

我得到java.lang.OutOfMemoryError:在使用XLSReader读取Excel文件到Java bean时的Java堆空间

这是代码片段。

public static <T> List<T> parseExcelFileToBeans(final File xlsFile, final File jxlsConfigFile) throws Exception { final XLSReader xlsReader = ReaderBuilder.buildFromXML(jxlsConfigFile); final List<T> result = new ArrayList<>(); final Map<String, Object> beans = new HashMap<>(); beans.put("result", result); try (InputStream inputStream = new BufferedInputStream(new FileInputStream(xlsFile))) { xlsReader.read(inputStream, beans); } return result; } 

XLSReader倾向于读取内存中的所有数据。

所以如果你的文件很大,你会很快耗尽内存。

根据文件的大小,可以使用-Xms-Xmx参数来增加JVM的内存。

如果文件真的很大,我相信你需要改变读取excel文件的策略。 链接 。