專刊內文

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

瀏覽次數 : 7494




iCoder强大的Word套表功能

訊光科技/張育誠

前言

iCoder& EEP的套表功能中,Word的套表方式通常都是單筆資料的呈現。但客戶的需求往往不僅如此,例如明細資料的呈現,需要在一份Word套表中,一次將完整的資料印出來;有時是資料筆數很多,希望可以固定筆數換頁;或某些單據的列印格式希望能支援中一刀;或有一些需求要套印合約書的範本等等。根據上述的不同需求,訊光也提供了越來越多樣化的套表列印方式,以下的三種範例有幾種不同的選擇,如:表格插入型、表格套表型、位置套表型等。

 

表格插入型

有些單據除了主檔外,還伴隨著單據的明細在文件的中間或下方,而此時筆數也不一定都一致,固定資料筆數沒有辦法解決此問題,所以我們須透過明細不限制筆數的方式,作出主檔明細同時存在的套表,讓其可以自由延伸,明細資料實際有幾筆,文件上就印幾筆。

如下的匯入Word格式:

 

 

此處要注意的只有畫面需要印出明細的欄位填入##,作為明細欄位呈現的位置,當資料筆數超過當初Word所設計明細表格的筆數時,系統自動會在明細下方增加不足的資料行。

 

匯出Word內容:

 

這裡可以看到原本匯入的範本文件中僅有4筆資料行,而當實際明細資料筆數超過4筆時,套表功能會自動作明細資料的延伸。如果要用動物來舉例的話就像臘腸狗,隨著明細資料的增加,肚子會越來越長。

 

表格套表型

當上述的狀況遇到明細筆數很多要分幾頁印出時,明細中間無限延伸的方式如每頁需要重印所有的表頭與表尾資料時,就會無法滿足用戶需求。透過iCoder可以改定義如下:

 

匯入Word格式:

其實匯入的文件跟上一個例子中的報價單幾乎一樣,可以看到表頭中的電話地址多了一個^F”的符號,代表了這兩個欄位只會在第一頁才會印出;表尾的合計未稅稅額等則多了^L”的符號,代表了這三個欄位只會在最後一頁才會印出。

 

重點在於:

iCoder預設產生的匯出按鈕,一般是按表格插入型的方式印出,原本呼叫的程式碼方法為exportWord,此時要改成exportWordLoop即可使用表格套表型方式印出。如下:

 

匯出Word內容:

注意,上面的5筆明細資料被分成兩頁印出(因為第一頁只畫4列的空間),且只有第一頁有電話地址的資料,最後一頁才有合計未稅稅額等的金額。

 

特色提示:

另外這種列印方式(exportWordLoop)也可以一次將多筆報價單(不同主檔),同時列印在同一份Word中,不像預設的(exportWord)只能列印某一筆報價單內容。

 

中一刀格式:

這種方式也可以應用在中一刀(A4紙張的一半)紙張格式來列印,只要透過Word來設定紙張的大小即可,如下的出貨單格式:

 

位置套表型

有時Word的文件內並沒有表格或格線能夠區分標題與欄位,但又希望能夠直接把資料套印在Word文件內時,如以下的合約書例子,在原來iCoder‘#’ 欄位符號後面,加上:ColumnName”及以@”結尾方式,來自由定位套表的位置。

 

匯入的Word格式:

上面紅色的字代表合約每次會變動的欄位,iCoder使用了#”來代表欄位位置,因合約書的格式是沒有標題名稱的,所以欄位命名需要事先以:欄位名稱來定義(:甲方代表欄位名稱為甲方);再則#”後面所定義的參數會與合約書文字內容混淆,所以必須以@”來代表結尾。

 

上面的#”內的參數{…} 代表預設值的內容(新增時的預設值),如{2500} 代表預設為2500{台北市民生西路2908} 代表預設固定的地址。

 

匯出文件畫面:

以上,在文件中沒有格線的狀況下,透過這個自由設定套表欄位位置的方法,就可以不受表格侷限的呈現這種合約書類型的套表功能。

 

結語

Word套表中,隨著使用者各式類型的需求,iCoder & EEP也陸續推出了強大的功能來滿足不同的報表。不管是多筆明細的自動延伸,還是希望固定每頁的高度,超過筆數就自動換頁,同時還能重複表頭。甚至多筆主檔同時列印在同一份Word之中;連同中一刀的格式以及沒有格線也能夠判斷的欄位位置等等。訊光的研發團隊持續不斷地推出強大的套表功能,只為了讓客戶達成使用者各式各樣的報表需求,期盼讓設計套表這件事情,能夠像呼吸喝水般輕鬆簡單。