需求:在web頁面操做,一次導出百萬條數據並生成excel
分析:
一、異步生成Excel,非實時,完成後使用某種方式通知用戶
二、生成多個excel文件,並打包成zip文件,由於一個excel容納不了這麼多數據,即便分別放在不一樣的sheet中也不行,文件太大,打開須要很長時間,用戶體驗很差
三、若是對數據格式沒什麼要求,可考慮導出csv文件,字符流,比excel快很多
四、後臺可開多個線程,分別生成excel文件,而後再合併
五、可以使用poi,可是poi是先將數據放在內存,而後再導出,因此建議一次不要在內存放過多數據,致使內存不足
七、可嘗試說服客戶天天定時生成excel文件,而非經過用戶操做生成
八、異步通知方法有短信、郵件、每次刷新頁面獲取最新狀態、長鏈接方式實時通知