java用JXL操作EXCEL 大文件问题

在TOMCAT和WEBSHPERE下用JXL读EXCEL大文件(行大概过13000+,列超过50)时报java.lang.OutOfMemoryError
但是 单独用java写个MAIN方法执行可以读取。请问时什么问题 怎么解决谢谢。

另外我在自己机器上TOMCAT环境下控制大小为1M可以读取。但是在WEBSHPERE环境下几十K就不行了。真麻烦啊,请知道怎么处理的朋友指教下谢谢。

这个问题以前遇到过。。。
原因就是JXL要把整个Excel读到内存里,你想想一共要生成多少对象。。。结果JVM使用的内存不够用了。

解决方法就是设置JVM使用的最大内存大小。
对于Tomcat可以更改catalina.bat文件,加上 -Xmx512M 或者 -Xmx1024M;
对于Websphere应该能在Websphere控制台里面更改这个值, 修改Websphere启动脚本应该也行。

楼主去google一下具体的方法吧,应该就是这个原因。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-06
帮定,关注中.
第2个回答  2008-08-06
有个解决办法,那就是把excel导入到odbc里面,然后用jdbc-odbc桥,直接当作数据库操作。。。

你自己到odbc下面看看就知道了,里面是提供了excel驱动的,你把excel添加进去就行了。。

odnc-jdbc桥是jdk自带的东东。。直接就可以用~~~
相似回答