近日TE网络因版本升级而导致很多BUG,我们会尽快让网站恢复稳定运行,非常抱歉给大家带来不便。
TE社区 > 事记录
客服QQ:1206116161

记一次用程序将大量数据导出到excel文件?

霸气帝皇 于 2016-05-22 09:07:32 创建话题
(3233)
(2)
举报

大概一个月前吧,工作中有一个需求把我整得很是恼火,现在记录下来,希望能得到一点欣慰。

我们小组的项目是一个政府的大型评估项目, 主要业务是对老人的健康信息做一个评估, 

大家可以以考试系统来做参考(不过我们的项目可比考试系统复杂得多得多得多), 所有评估的题目和题目的选项(还有某些填写题)全是动态配置的, 


大家可以设想一下, 如果一道题目 10 个选项, 一个人的评估题目数量为50道题 (其实题目还会以章和小节的形式进行分组, 这里不做过多的介绍) 

而需求中写的是 要把每个选项全部以excel列的形式显示出来, 这时候算一下, 一个人的评估结果就会存在 (10 * 50) 500条 excel列,要求一次可以导出 5000 条数据 (也就是 5000 行数据)

最终 excel 就会存在 500 * 5000 个单元格 , 也就是 250 多万个 excel 单元格

根据我们数据库里面的设计, 每一个题目选项对应着数据库里面的一条数据, 也就是说, 最终以1行500列, 一共 5000 行, 要查询数据库中的250多万条数据出来, 

虽然是单表操作, 但是对于上亿级别的的数据表, 要查询250多万条数据出来也是特别消耗内存的, 

最开始我实现出来, 每次导出大概需要耗费1分钟左右, 后来慢慢的优化自己的程序, 每次导出只需要大概25+秒, 也算是很不错


实现过程中, 倒也不是很复杂, 只是在优化的时候比较头疼, 想过很多种方法去优化程序


  • AaronDjc
    - 2017年05月28日 (1)

    没有看到怎么样的一个处理流程或者过程呢

  • 霸气帝皇
    - 2017年05月29日 (0)

    实现代码太多了,而且设计比较混乱!!!

最后登录:2018-05-25 20:53
我是个安静的疯子!!!
扫码关注TE官方微博 扫码关注TE官方微博
举报X