大家好,现在在做一个项目遇到利用POI往excel写数据的问题,当数据写到7000多条的时候就报java.lang.OutOfMemoryError错误 我的jvm是64m,jvm内存不考虑再调整了,要寻求其它的解决办法。已经在网上查了很多资料,但是都没有找到好的解决办法,希望有高手能够帮忙解决。

解决方案 »

  1.   

    据我所知excel每页最多支持65536行数据
      

  2.   

    堆内存溢出,尽量减少集合类的使用!如果代码没有问题的话,唯一的办法是扩大JVM的堆内存。
      

  3.   

    excel每页最多支持65536行数据
    最大就这么多
    你得分页写吧
      

  4.   

    呵呵,我遇到过这样的问题。增加内存也解决不了问题。
    我已经解决,你首先要知道 HTML 和 Excel之间通过改后缀名是可以相互转换的。
    所以,你可以先写HTML,这样内存不会溢出。写好后再改成xls后缀名。注:
    HTML 和 Excel之间的转换,你可以参考。打开一个EXCEL,然后,选择另存为网页。
    你可以看一下这个HTML的源码。
    你直接把这个HTML文件后缀名改为xls,打开后效果和刚才那个EXCEL一样。
    但是会文件会变大。但是,压缩后比EXCEL还小。不知道说明白没。