使用 XLSReader 将 Excel 文件读入 java bean 时遇到 java.lang.OutOfMemoryError: 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文件的策略。 Link .
关于java.lang.OutOfMemory错误: Java heap space while reading Excel file into java bean using XLSReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40016601/