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。不知道是否有更好的方法。希望得到有经验的朋友提个建议^_^
本文讨论了在使用Apache POI将大量数据导出为Excel文件时遇到的问题,即当行数超过65535时无法正常工作。作者尝试了两种解决方案:每写满10000行新建一个工作表或工作簿,并最终发现后者能够成功处理超过24万行的数据,同时提高了导出速度。
900

被折叠的 条评论
为什么被折叠?



