毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> WEB开发 >> 正文

用POI制成EXCEL下载数据量大时内存溢出怎么办

更新时间:2012-5-18:  来源:毕业论文

现在网上基本方法是:
1.使用CSV下载。
2.调大JVM ,Tomcat的内存。

目前这两种方法客户都不同意,大家还有什么方法吗?

内存溢出是因为加载的数据太多导致的。
既然这样,你可以将数据分开加载出来,然后分别导出到多个表单或多个文件中。
也就是说按分页查询来进行导出。

Excel 2010 和 Excel 2007 中 (即xlsx格式)工作表的大小为 16,384 列 × 1,048,576 行。
不知道能不能满足要求,不能的话就txt保存,不过可能文件过大,打开较慢
我已经在使用模拟数据,不走后台了。但还是过不了28000这关口,更别提60000了。数据生成过程从来不报异常,java.lang.OutOfMemoryError: Java heap space全是在生成Excel时出来的。
我尝试过了用循环直接生成,分段生成不断读写文件两种方式,总是回报java.lang.OutOfMemoryError: Java heap space这个异常。

可以生成多个临时excel文件。。然后合并成一个excel文件。。写一个合并的类。。。
,poi生成excel文档确实有数据量的问题,也是在28000行左右的数据,超过一定量的数据,必然会有这样的问题。
当时的解决办法是改成csv,别的没办法。

我也遇到过这样的问题,但是只是在本地机器上会出现内存溢出情况,
如果把应用程序部署到服务器上,由于服务器性能原因,基本上能够满
足客户需求,暂时没出现过内存溢出现象,所以我建议你去服务器上试试(
开大JVM内存也可以试试,悄悄的,不给他说,哈哈)。
如果实在不行,我就建议使用cvs下载了(客户不会不同意吧,这类后缀
名的文件,基本上默认就是用excel方式打开的,基本上不会有什么影响吧)

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。