解决方案 »
- struts2 default-action-ref的问题
- myeclipse8.0中项目share project到SVN问题,急,急。
- 谁试过springside3.4怎么使用??知道的来指点一下!
- JS或AJAX处理动态更换图片效果的问题
- 求高手给讲解一下JAVA中回调函数是怎么实现的.
- 哪位高手能帮忙看一下?jsp怎样用action来实现表单的内容?急!!!!!
- eclipse3.3 +myeclipse6.0+tomcat6.0 启动tomcat的问题
- 大家看看这个是什么原因。。JTSI标签报错!!
- SSH整合
- java发送http请求Connection reset
- ssh中hibernate创建数据库时,提示spring applicationContext.xml中sessionfactory bean错误
- cas sso,多个wabapp中的用户信息不同,怎么解决用户映射问题
首先你只是说报表达到10W行,但是你没有提到列宽是多少。如果列宽超过20,那么就不用白费心思改到一张表里面了。
读CSV文件是不需要多大的内存的,但是生成excel的时候冗余很大的。
POI的方式直接生成xlsx的文件是不可以的,但是可以写入到xlsx文件。
POI的方式直接生成xls的文件可以,但是生成的文件相当的大。
我生成一份1.5W行,30列宽的文件xls的空间达到了60M。
至于解决办法,我暂时有两种,
一种就是尽量使用java的垃圾回收机制,把不需要的那种内存空间给回收掉。
另外尽量少定义新的对象。
第二,扩大java本身的运行内存,这个在run->Debug configuration->VM argument里面改-Xmx800m
一般800M基本都没有问题了,还有问题的话就真是程序本身问题了。
ps:将10 的数据分批次追加形式写入同一个excel试试。。
谢谢哈。[email protected]