wmjy.net
当前位置:首页 >> poi几百条数据导出太慢 >>

poi几百条数据导出太慢

你是不是每写一条数据都是要新建一个OutputStream 如果是这样的话你就先把数据读入到内存里 然后再在一个OutputStream里写入到文件中 当前这样做的前提是你的内存要够用 如果你的内存不够放6000条数据的话 可以先读一部分数据到内存 然后在一个O...

建议不要导出excel,当前excel中已经有支持cvs文件。 解释:cvs文件的显示方式和xls的显示方式一样,并且此显示方式的执行效率要高于xls文件的额,因为cvs文件存储的是数据直接直接用英文逗号分隔,xls是存储的cell。所以在大量数据的情况下,都...

发现你问题的所在了,你把过多的可重用的东西卸写在了循环内 HSSFCellStyle cellStyle = wb.createCellStyle(); HSSFDataFormat format = wb.createDataFormat(); cellStyle.setDataFormat(format.getFormat("@")); // HSSFRow row = sheet.crea...

我给你个办法,是要导出excel吗?别使用poi,使用xml来描述excel即可,就像流文件一样,多少都不会流出,给你个思路,你自己扩展,希望你能看明白。 /** * @author J.W * 2011-06-08 */ import java.io.BufferedOutputStream; import java.io.Da...

能附上你的下载的JavaScript和Action里下载的方法么?这么一说,也不知道问题在哪儿。。 别复制多了,就复制和下载excel有关的方法。。

你查出的列可能有空的值,判断一下吧,如果为null就添加一个"",应该是这个问题,我原来遇到过,它不允许你添加进单元格的值为null

POI使用Workbook在内存中生成整个文档, 因此到了百万级数据时瓶颈处于内存. 优化方式通常有以下几种方法: 买内存条加大电脑内存 限制每个文件大小, 数据量大时根据最大数量进行分割.

没办法,运行内存低、机子能开虚拟内存的话可以试试。。

首先内存溢出的原因确定是Excel数据过大吗?如果是的话你可以考虑加大内存,或者可以把Excel按照sheet页逐个读取,每个sheet页最大65535条数据这样就避免了内存溢出的问题 假如你封装的读Excel的方法是readExcel(InputStream is) {.....} 那么把方...

POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果也不是太好。3.8版本的POI新出来了SXSSFWorkbook,可以支持大数据量的操作,只是SXSSFWorkbook只支持.xlsx格式,不支持.xls格式。 3.8版本的POI对excel的导...

网站首页 | 网站地图
All rights reserved Powered by www.wmjy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com