http://blog.sina.com.cn/s/blog_4add93f0010006ih.html
利用java开源项目apache poi写excel文件行数过多问题解决方案
(2006-12-30 14:09:18)分类: 信息技术 |
我们项目中有一个应用就是把数据导出为excel文件,提供给管理员导出到本地。可是遇到了用apache的开源项目poi写excel文件行数太多而不能正常工作问题。
理论上来说excel每个sheet可以写65535行,可是我只写了18000多行(有时多有时少一点)就写不下去了,没有任何出错提示。于是我尝试了一下两种方案:
1. 每写10000行就新建一个sheet(工作表),如此每个工作表最多只有10000行。可是发现这样仍然解决不了问题。所写的工作表加起来的行数到了18000左右就写不下去。
2. 每写10000行就新建一个工作薄,最后把所有的工作薄打成zip包,再发送到客户端。
经过实践,发觉第二种方式是可行的,我写了 24万行的数据(从数据库的出来的),导出到本地的机器上用了1分钟多一点,zip文件大小为5m左右,解压出来为30多兆,这样既解决了行数过多问题,也加快了导出速度,特别是在网速慢的时候。
我用的是poi-2.5.1。不知道是否有更好的方法。希望得到有经验的朋友提个建议^_^