今天在做项目的过程中需要用到excel文件的导入功能。导入的excel文件有97列,1W多行,文件大小为15M+,导入插件为jxl。
导入的过程中项目一直报XXX错误(构造方法异常),打断点跟进去之后发现根本原因是程序发生OutOfMemoryError异常,而在导入其他小文件(3M+)的时候程序运行正常。
因为用的是jxl插件,excel文件是以sheet为单位进行导入,所以无法对数据进行分批,网上找了关于poi的文档,也是以sheet为单位。所以要想另外的方法解决问题。最后解决的办法是在myeclipse.ini中设置:
-startup
../Common/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-install
D:/Program Files/Genuitec/MyEclipse-8.6
-vm
D:/ProgramFiles/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll
-vmargs
-Xmx1024m
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=64m然后在配置tomcat中设置JVM的使用内存:
-Xms200M
-Xmx300M即可。
jxl导入大容量excel文件导致内存溢出的问题
最新推荐文章于 2022-02-28 09:41:45 发布