当前位置: 首页 > 知识库问答 >
问题:

导入时出现OutOfMemoryException。java中的xlsx文件

翁文康
2023-03-14

我尝试以两种方式导入.xlsx文件:

1)如果我从日食中跑出来,如果我导入,我能够成功导入

2)如果我为我的产品创建了一个. jar文件,并在不使用eclipse的情况下作为一个独立的应用程序运行,我会得到一个OutOfMemoryException,因此无法导入

我的文件大小约为3mb,我使用poi 3.9、poi-ooxml-3.9、poi-ooxml-Schemas-3.9、dom4j和xmlbean作为外部jar。

我甚至尝试过诸如 -Xmx1g, -Xms1024M -Xmx1024M 等参数。

请帮助我如何从我的独立应用程序中导入xlsx文件。

共有1个答案

松铭
2023-03-14

也许你可以使用流式处理 API (SXSSF)。

从3.8-beta3开始,POI提供了一个构建在XSSF之上的低内存占用SXSSF API。

SXSSF是XSSF的一个API兼容的流扩展,当必须生成非常大的电子表格并且堆空间有限时使用。SXSSF通过限制对滑动窗口中的行的访问来实现其低内存占用,而XSSF允许访问文档中的所有行。不在窗口中的旧行在写入磁盘时变得不可访问。

 类似资料:
  • 我正在使用openpyxl导入/导出xlsx文件。 但是我不能导入我用openpyxl导出的文件。 我必须在Excel中打开导出的xlsx文件,更改导入的xlsx文件的一些值并保存它(它的大小也会改变(例如:从148 Ko到180 Ko)。然后我可以用openpyxl导入它。 我认为,有一个问题,在出口,因为后保存手动导入作品。 谢谢

  • 本文向大家介绍ASP.NET Core 导入导出Excel xlsx 文件实例,包括了ASP.NET Core 导入导出Excel xlsx 文件实例的使用技巧和注意事项,需要的朋友参考一下 ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Linux和

  • 问题内容: 我正在尝试将一个约600 MB的zip文件上传到SQL 2008 FILESTREAM表,但出现OutOfMemoryException。我使用一个SqlFileStream类上传的文件(在本教程中描述- http://www.aghausman.net/dotnet/saving-and-retrieving-file-using-filestream- sql-server-200

  • 本文向大家介绍java实现Excel的导入、导出,包括了java实现Excel的导入、导出的使用技巧和注意事项,需要的朋友参考一下 一、Excel的导入 导入可采用两种方式,一种是JXL,另一种是POI,但前者不能读取高版本的Excel(07以上),后者更具兼容性。由于对两种方式都进行了尝试,就都贴出来分享(若有错误,请给予指正) 方式一、JXL导入  所需jar包 JXL.jar 方式二、POI

  • 本文向大家介绍SpringBoot中EasyExcel实现Excel文件的导入导出,包括了SpringBoot中EasyExcel实现Excel文件的导入导出的使用技巧和注意事项,需要的朋友参考一下 前言 在我们日常的开发过程中经常会使用Excel文件的形式来批量地上传下载系统数据,我们最常用的工具是Apache poi,但是如果数据到底上百万时,将会造成内存溢出的问题,那么我们怎么去实现百万数据