專刊內文

當前位置:首頁>專刊分享>內文

瀏覽次數 : 14515



iCoderExcel報表實例

訊光科技/Joyce OU

前言

iCoder不但可以用Word來快速產生輸入表單與列印的套表格式外,更可以用Excel來產生查詢與統計報表。關於Word表格運用我們已在之前"iCoder智能編程實例"文章中為大家介紹過了;在此將介紹如何透過Excel針對各式的資料明細表或各類統計表來設計報表,例如員工的資料清冊、每天的日報表、出貨統計表、每月的實績報表等各式各樣的Excel報表。

 

iCoder對於Word上傳規格的操作,簡單分為四步驟,即 [ 定義現有表格 ] à [ 上傳表格 ] à [ 規格確認 ] à [ 編程匯出 ]。同樣的在Excel的運用上也是與其相同的步驟。

 

匯出Excel範本

    如果您只有WordDoc檔案,沒有Excel可做為列印的明細報表格式。可以透過Word [Excel匯出] 來匯出一個對應的 Excel範本,再重新以Excel讀入即可。

 

步驟如下:

1. 使用現成的Word表單 [客戶資料表] 填入設計參數 "#" 的相關定義(如下圖,說明如"iCoder智能編程實例"文章),登入iCoder上傳此Word表格,進行[保存] [編程匯出] 後就會自動產生對應的資料表、表單頁面與Word套表。

 

2. Word [規格確認] (如下圖),透過以下 [Excel匯出] 可自動產生一個Excel的報表範本,如果您不想列印全部欄位可以調整畫面上的 "印表" 設定,取消勾選即不列印此欄位資料。我們把以下幾個欄位取消勾選 並 [保存] 後再匯出 Excel範本。

 

3. 自動產生的Excel範本(如下圖)iCoder會自動填入欄位參數"#",其中"#Q"開頭代表為讓User輸入的查詢條件欄位。"$" 開頭代表系統變數,如下$TODAY代表印表日期,$USERNAME代表印表者名稱。

 

4. 透過 [新增] -> [Excel] 功能將您上圖的Excel範本 "客戶資料表.xlsx " 上傳後,畫面會新增一個頁籤 "客戶資料表""印表欄位設定" 頁面提供確認(如下圖)

: 此上傳會依 #M:客戶資料表 定義的資料來源帶入對應的欄位規格。

 

5. 上傳完成後,可直接按下[保存] [編程匯出] 即可。此時只需要3秒鐘iCoder就會自動產生Excel對應的報表程式。

 

6. 點選 [預覽] 會呈現RWD自動寫好的程式頁面,同時透過此頁面使用者就可以針對資料 查詢/印表(匯出) 了。

 

7. 圖中的 [印表] 可以把資料套印到原來的Excel表格上(如下圖),並在電腦、平板、手機上皆可執行。

 

 

設定加總公式

如上的Excel報表範本是可以設定計算公式的,因為所有"#"的欄位位置都是使用插入的方式,所以只要"#"欄位在Excel的計算公式範圍內都是有效的。

 

1. 如下圖,我們把上例中的 "營業額" Excel的公式加入加總設定"=SUM(I5,I6) "公式SUM的範圍為 (標題攔 , 一資料儲存格)

 

2. 接著我們重新用 [新增] / [Excel] 將這個更改過的Excel範本重新讀入 iCoder中,如下圖,會詢問"客戶資料表"已經存在,是否覆蓋? 按下 [確定] 即可將其覆蓋。

 

3. 重新按下 [保存] / [編程匯出] 後再 [預覽],同樣在頁面中暫不輸入查詢條件直接點選 [查詢] 畫面會呈現所有資料,接著按下 [印表] 把資料套印到 Excel中,如下圖會得到最新的加總效果。

 

設計Excel範本

以上,是假設沒有Excel報表格式的情況,接著我們就直接以Excel來設計報表,通常都是以現成的Excel格式加工一下即可使用。

1. 我們就以 "出貨統計表" 為範例(如下圖),相同在Excel報表中填入設計參數 "#" 的相關定義(於後面章節會有較詳盡的說明),其中 #M:INVO用來定義此出貨統計表的資料表為INVO"#G"則代表群組的欄位(用來分群)"#NT"代表為數值且要加總的意思。

 

2. "出貨統計表" 中的 "出貨單" 必須先上傳到 iCoder產生出貨單的資料表,其出貨單的 Word表格如下圖,透過 iCoder上傳產生"出貨單"的資料表與輸入頁面。(iCoder執行[新增] / Word,然後[保存]並執行[編程匯出]即可)

 

3. iCoder中執行 [新增] / Excel,上傳Excel後會產生 [印表欄位設定] [查詢設定] 兩頁籤,如下圖。

 

[印表欄位設定] :依Excel中以 "#" 所定義的資料來帶入相關欄位規格。

 

[查詢設定] :帶入Excel中以 "#Q" 所定義的查詢條件。

 

4. 透過系統工具列的 [保存] 會自動存檔與執行 [編程匯出],自動產生對應的查詢頁面與報表等相關程式。

 

5. [預覽]:點選預覽模式的切換可檢視 手機、平板、電腦 等網頁頁面的視覺效果如下。

 

6. 輸入條件查詢後,以 [印表] 的方式取得報表的Excle檔案結果如下圖。

 

Excel的欄位參數

接著我們就針對iCoderExcel表格中的 "#" 參數定義說明如下:

1. 查詢條件欄位的定義:當User要列印或下載此Excel報表時,會先出現查詢條件輸入的頁面,其中查詢條件的欄位設定以"#Q"開頭,部分說明如下:

標記類型

說明

查詢條件

範例

QT

 

Text,一般的查詢欄位,通常是文字類型。

=等於

%開頭

$包含

名稱:#QT%,查詢名稱為某字串開頭的資料

備註:#QT$,查詢備註包含有某內容的資料

QD

Date,日期欄位查詢,通常會以範圍來查詢

=等於

>大於等於

<小於等於

交貨日:#QD>,交貨日大於等於某日期的資料

交貨日:#QD<,交貨日小於等於某日期的資料

QR

 

RefName,查詢某個編號值,並使用關聯選單讓User選擇

=等於

 

客戶編號:#QR= 客戶資料,查詢客戶編號為某個值的資料

QC

Combol查詢某個內容值,並使用下拉選單

=等於

%開頭

$包含

稅別:#QC= 應稅 未稅 免稅,選擇查詢指定稅別的資料

規格:#QC$ 產品規格,選擇查詢規格包含有某內容的資料

M:

用來指定資料表的名稱,沒有設定時,資料表名稱就與Excel的檔名一樣。

 

出貨統計表 #M:INVO,代表資料來源為INVO資料表

$

代表系統變數,如可以使用$TODAY$USER$USERNAME

 

印表日期:$TODAY

印表人:$USERNAME

 

2. 印表欄位定義:當User要列印或下載此Excel報表時,會以此設定匯出到Excel報表上的資料欄位,其"#"的參數部分定義如下:

標記類型

說明

範例

T

Text,一般字串欄位,通常沒設定就代表Text

客戶編號

#

N

NT

Number,一般的數值欄位,如果是'NT'代表Number+Total,與數值欄位一樣,多了會進行加總。Number後面通常會設定數值的格式,如N0代表沒有小數點

庫存量

#N N0

營業額

#NT N2

R

 

RefName,會以編號去關聯名稱並列印出名稱欄位。

員工姓名

#R 員工資料

D

DT

DateDateTime,日期或日期+時間的欄位,通常後面會有日期的格式設定,如 YYYY/MM/DD來代表日期格式

出貨日

#D YYYY/MM/DD

出生年月日

#D YYY-MM-DD,代表民國年

起始時間

#DT YY-MM-DD HH:MI:SS

E

Element,多欄位資料印出,此必須配合當初Word表單上的'#E'的參數設定,才能夠還原資料的格式,如: '#E 帳號:#,銀行:#,合格:#'等格式。

付款方式

#E 月結:#天,隔月:#日請款

最高學歷

#E 學校:#,科系:#,畢業年度:#

G

 

Group,列印時會自動按照此欄位排序與作為群組的依據(相同的資料會被合併),如果以配合'#NT'加總欄位,也會進行群組的小計與合計。

客戶編號

#G

 

結語

iCoder的主旨是希望藉由企業平日使用的WordExcel表格格式,少許加工後,即可自動完成表單輸入的頁面程式,及將單據資料套回到原來的Word表格及Excel的報表上。如果User有特殊功能無法使用iCoder來滿足需求時,亦可透過最終的EEPCloud平台給專業的開發者來進行二次開發。在 iCoder上所產生的頁面無論是電腦、平板、手機上皆可執行,讓企業的系統可以快速往外延伸到行動化的應用。

除外之外,iCoder也針對表單與表單間的商業邏輯處理提供了常用的解決方案,可以用視覺化拖拉的方式定義表單與表單的邏輯關係,我們將會在後面的文章中持續為各位介紹,請各位拭目以待。