最近在做人事檔案管理系統遇到的一個問題就是種類多、數量大的報表列印問題。這個系統的一個特點就是信函列印,各種介紹信、各種證明信。對於這樣的重複性的功能,最好的方法就是所有的報表實現格式套用。
經過分析發現報表中的資訊可以分為兩部分,一部分為信函主體內容即所有同種信函中統一的內容,另一部分為個人資訊(姓名、性別等)即同種信函中經常要變化的內容,而這部分的內容來自網頁(個人檔案詳細資料)。分析過後發現只要把報表的格式及主體內容規定好,只要從網頁中把那些經常要變化的資訊放進去就可以產生報表,這樣同種類的報表就可一套用一種格式。
實現結構圖
各部分功能
網頁(前台)通過後台獲得資料庫中的檔案資訊。
xml檔案中將報表的主體內容及格式定義好。xml作為傳輸和儲存資料的有效工具對於實現儲存報表的主體內容及內容格式的定義再適合不過了。xml檔案作為一種設定檔來說,這樣不僅保證報表格式與內容的統一性,還使得報表具有了可變化性,變化的範圍涵蓋了報表的內容及格式。
javascript將獲得的網頁資訊與讀取到的xml中信函內容與格式資訊進行處理,並通過藉助VBA的處理最後將資訊進行整合最終得到格式內容統一的報表。
技術要點
javascript與網頁互動(javascript與網頁進行資訊互動獲得網頁中的資訊)。
javascript讀取xml檔案(javascript從xml檔案獲得信函的主體內容與格式)。
VBA操作(對word的內容和格式的操作)。
javascript結合VBA將整合報表內容,並對報表格式進行設定。
總結
初步有了想法,在技術上也實現了大部分。javascript與網頁資訊互動很簡單,javascript讀取xml檔案也掌握了,將報表資訊整合寫入報表也實現了,就差通過VBA實現對報表的格式(排版、字型大小設定、頁面邊界設定)控制。這樣的結構下不管什麼人的任何報表都可以得到:個人資訊動態從網頁中擷取,報表內容及格式從設定檔(xml)中得到,而且如果需要的話只需要修改設定檔就可以動態修改報告的內容和格式。