解决方案 »

  1.   

    方案1  我不清楚方案2   这个问题我碰到过,当时我导出生成多个excel然后打包出来的,这个是可行的方案3  也是可行的,但是我没试过,方案4  这个方案整体思路和方案2是一样的,也是先生成excel 写了一个sheet'后,重新再去写这个excel
      

  2.   

    不知道POI写Excel流的时候能不能分开写;分批次写进,不要让内存占用太大。
      

  3.   

    你把50W条数据分批次查询到内存后利用POI来写入,如果POI不支持分批次写流,你参考POI源码进行修正。
      

  4.   

    那你打包的代码能传上分享下么?不方便的话传关键代码也行!
    http://download.csdn.net/detail/jimmy609/5840061#commenthttp://blog.csdn.net/jimmy609/article/details/9629301之前总结的,代码稍乱,自己整理下吧~~~
      

  5.   

    方案一:poi最新版已经解决了这个问题,导出过几十万的,没有问题:
    关键性代码如下:FileOutputStream fOut = new FileOutputStream(savePath);
    Workbook workbook = new SXSSFWorkbook(500);//每次缓存500条到内存,其余写到磁盘。
    Sheet sheet = workbook.createSheet();官网案例地址:http://poi.apache.org/spreadsheet/how-to.html#sxssf方案二:客户没有特别指定,可以使用csv格式的excel,轻量型的导出方式。
    方法:自己新建一个csv格式的excel,然后右键编辑查看。看完之后你就明白了,csv其实就是一个txt文本,纯字符串拼接。
    接下来当成txt文件来读或写就可以了。
      

  6.   

    要么多个sheet要么多个excel文件,我记得一个sheet好像只能写65535行
      

  7.   

    poi3.8以上没有问题,看看我的博客里有。
      

  8.   

    这个应该可以,靠谱,分批写入,java poi
      

  9.   

    我之前试过导出20w的,可是sheet有65535上限,另new sheet结果怎么sheet可以建立就是不进数据...
    客户催的急,后来只能暂时变通着导出多张excel了。。