生成報表數據到Excel中,數據量可達驚人的100萬!

生成報表數據到Excel中,數據量可達驚人的100萬!

背景

java程序員實戰開發通過數據庫的表數據生成Excel,這是很平常的功能。

學習目標

  • 學會開發生成Excel功能

實戰代碼舉例

  • HSSFWorkbook:是操作Excel2003以前(包括2003)的版本
  • XSSFWorkbook:是操作Excel2007的版本
  • 之前導出均用HSSFWorkbook,後來發現超出65536條後系統就報錯
  • 我的例子是 2007以上版本的excel,最大可以寫入100萬數據
  • 不好意思我筆記本配置太垃圾只能跑35萬數據,配置好的朋友可以100萬測試下。

配置差就OutOfMemoryError【話說一般20萬左右的Excel數據夠用了】

第一步:初始化數據

生成報表數據到Excel中,數據量可達驚人的100萬!

第二步:生成Excel內容

生成報表數據到Excel中,數據量可達驚人的100萬!

生成報表數據到Excel中,數據量可達驚人的100萬!

Excel內容分三部分,如下圖

生成報表數據到Excel中,數據量可達驚人的100萬!

第一列:標題

生成報表數據到Excel中,數據量可達驚人的100萬!

Excel內容行

生成報表數據到Excel中,數據量可達驚人的100萬!

第三步:生成文件

生成報表數據到Excel中,數據量可達驚人的100萬!

總結

真實項目中,需要考慮性能問題。主要是數據庫裡撈數據出來,比較耗費資源。

建議:

  1. 利用緩存減輕DB的壓力;
  2. 能定時任務預處理最好了;
  3. 利用分頁按批次來查詢DB,如1000條查詢一次;
  4. 利用多線程【謹慎使用多線程】

又get到新知識的,請關注啊

如果想要完整Demo的,請下方評論:Excel, 關注我,稍後會私信你。

1


分享到:


相關文章: