xls – 快速的匯出excel報表
主題: |
Jxls – 快速的匯出excel報表 |
文章簡介: |
透過簡單的範例匯出excel報表 |
作者: |
L |
版本/產出日期: |
V1.0/2016.11.24 |
1. 前言
利用Java產生Excel文件時,大多使用Apache POI套件;通常必須建立sheet、儲存格及儲存格的樣式,而依據不同的需求,有可能使得Java程式碼變得複雜及難以維護。
Jxls的方式,透過自行建立Excel template檔,並透過程式將資料輸出,產生所需的Excel文件,可簡少Java程式碼編寫,及維護上的便利。
2. 開始前準備
本架構建立於以下版本的環境:
• Jdk 7
• Jxls 2.3.0
3. 實作Jxls API
產出一份銷售單總表及明細資料
建立Excel template檔
(1) 設定銷售單總表樣式
A1:設定在context的值
A4、B4、C4:顯示定義在jx:each的資料(orderList)
C5:設定公式=SUM(C4)
可自行設定每個儲存格要的格式,設定B4為yyyy/mm/dd,設定C4為NT$x,xxx
jx:area:定義資料區塊
jx:each:定義要顯示的資料集(orderList)
(2) 設定銷售明細樣式
B2:設定在context的值
A5、B5、C5:顯示定義在jx:each的資料(orderList.detail)
D5:設定公式=B5*C5
D6:設定公式=SUM(D5)
可自行設定每個儲存格要的格式,設定B5、D5、D6為NT$x,xxx
jx:area:定義資料區塊
jx:each:定義要顯示的資料集(orderList.detail)
multisheet:會建立多個sheet,sheet name為設定在context的值
建立Java Code
(1) 取得來源資料
(2) 設定讀取的Excel template檔
(3) 設定匯出的Excel檔
(4) 建立Jxls Context
(5) 將要輸出的資料放入context裡
(6) 銷售明細的sheet name
(7) 把設定好的資料放入JxlsHelper裡運行,即產出excel表
執行結果
(1) 銷售單總表
(2) 銷售明細
4. 參考來源
• JXLS
http://jxls.sourceforge.net/index.html
5. 附件
• Source Code:
• 產出Excel: