初次尝试从数据库导出数十万条数据到excel(java)

    某天,在一次新的需求讨论中,用户提出想要通过页面导出数据到excel,由于之前有使用poi导出数据到excel,所有在当时同意了这个需求。分析会后找dba拿取sql的时候,突然得知数据的数量级有几十万,心中一阵懵逼。

    第一次尝试:抱着侥幸的心理,依旧使用之间poi导出的方式,果然坑就在那,饶是绕不过去的,报错了tomcat:java.lang.OutOfMemoryError: Java heap space,内存溢出。百度了一下说是list集合一次获取数十万条数据,放不下了。

    第二次尝试:既然一次去几十万取不出来,那我分开获取数据呗,通过和dba的沟通,成功的实现每次获取10000条数据。恩,再次进行尝试---------还是同样的错误。静下心来缓缓,吃颗糖压压惊。选择在查询数据库前,list取值中,取值完成后,分别输出系统剩余freememory,发现了在list取值的过程中,可使用缓存急遽的下降直到报错。

     第三次尝试:拿着问题去寻找答案,经过搜索资料,各种实验,最终得出,在使用完成集合时,要及时清楚集合的缓存,主动调用垃圾回收。并且选择使用SXSSFWorkbook,恩,数据顺利的导出到了excel。

下面是下载链接:https://download.csdn.net/download/qqweede/10420893


    


阅读更多
想对作者说点什么? 我来说一句

java导出100万以上excel数据样例

2016年07月30日 1.11MB 下载

没有更多推荐了,返回首页

不良信息举报

初次尝试从数据库导出数十万条数据到excel(java)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭