本文主要是介绍大批量到处excel,防止内存溢出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在做项目功能时 ,发现有20万以上的数据。要求导出时直接导出成压缩包。原来的逻辑是使用poi导出到excel,他是操作对象集合然后将结果写到excel中。
使用poi等导出时,没有考虑数据量的问题,大数据量无法满足,有个几千行jvm就哭了。更别提几万行几百万行数据了。
经过一天的研究发现一种不会消耗过多内存的方法:
导出成csv格式
大数据量的导出成csv格式分为以下几步:
1.首先引入需要的jar包 一下是我maven的配置方式
1 2 3 4 5 6 7 8 9 10 |
|
2.以下是具体的执行代码,我是用的是jdbcTemplate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
3.以下是帮助类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
4.下面是下载时的action
1 2 3 4 5 6 7 8 9 10 |
|
总结:以上只是关键代码。使用时只需要稍加改变就可以运行。
这篇关于大批量到处excel,防止内存溢出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!