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

poi几百条数据导出太慢

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

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

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

win7的系统可能会好些,建议试一试。

记得有个属性, POI3.8的SXSSF包是XSSF的一个扩展版本,支持流处理,在生成大数据量的电子表格且堆空间有限时使用。SXSSF通过限制内存中可访问的记录行数来实现其低内存利用,当达到限定值时,新一行数据的加入会引起老一行的数据刷新到硬盘。 ...

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

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

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

一。检查SQL查询出来的值是否和导出的值一样。 二。如果一样,确定问题是sql,如果不一样,暂时认为不可能会有这种情况

使用POI或JXL的话,数据是一次性读入内存,封装成对象,再一次性导出的。这么大的数据量都有G级了吧,如果是一次性作业的话,内存很难受。 考虑分批,追加写入的方式,对于简单的字节字符流文件是可取的。然而写成excel这种结构化的文件格式应该...

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