关于海量数据导出excel

dunerunner 2011-08-18 08:24:05
项目中有导出功能
在页面导出数据但因为数据过多(20多W条)

框架搭建时有个导出excel的工具类
但需要把所有的数据查到一个list中 然后以参数形式将该list送进那个工具类中导出

因数据过多所以页面一直没有反应
大概7分钟后报异常
Free memory in the server is 4,128,768 bytes. There is danger of OutOfMemoryError

请问想实现导出应该怎么做?导出excel的工具类不用了?完全重新写一个导出?

请高手赐教
谢谢
...全文
255 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuxr2003 2011-08-19
  • 打赏
  • 举报
回复
有个办法不用poi之类的控件,导出的数据是html格式,比如<table><tr><td>....</td></tr></table>,注意文件名后缀是.xls。或者用csv格式导出,用逗号分隔。这样做的好处是即使100万数据可以导出,内存消耗大大减少。
softroad 2011-08-18
  • 打赏
  • 举报
回复
因为数据量是未知的,配置内存不算一个好的解决方案,我个人建议你写入多个文件,最后打个zip包。
poi对2003,2007都支持的很好,只不过太占内存了,2003有65532行的限制,所以不采取,2007不存在行数限制,所以用2007导出多个文件。

不知道还有什么完美的解决方案,坐等大牛。
magong 2011-08-18
  • 打赏
  • 举报
回复
试着先加配内存参数。
Tomcat下的内存参数调配方法参见下文:
http://hi.baidu.com/luopozhuihun/blog/item/dacf12e7944a2d34b93820bd.html
Fly_m 2011-08-18
  • 打赏
  • 举报
回复
参考这个链接
http://lzg3267373.iteye.com/blog/611809
讲大量数据导出为excel的,对你有帮助

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧