xls – 快速的匯出excel報表

胡永祥 2016/12/21 13:54:42
1396







主題

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

胡永祥