需求:在web页面操做,一次导出百万条数据并生成excel
分析:
一、异步生成Excel,非实时,完成后使用某种方式通知用户
二、生成多个excel文件,并打包成zip文件,由于一个excel容纳不了这么多数据,即便分别放在不一样的sheet中也不行,文件太大,打开须要很长时间,用户体验很差
三、若是对数据格式没什么要求,可考虑导出csv文件,字符流,比excel快很多
四、后台可开多个线程,分别生成excel文件,而后再合并
五、可以使用poi,可是poi是先将数据放在内存,而后再导出,因此建议一次不要在内存放过多数据,致使内存不足
七、可尝试说服客户天天定时生成excel文件,而非经过用户操做生成
八、异步通知方法有短信、邮件、每次刷新页面获取最新状态、长链接方式实时通知