問問題_Java一次導出百萬條數據生成excel(web操做)


需求:在web頁面操做,一次導出百萬條數據並生成excel


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


相關文章
相關標籤/搜索