• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于WordXML技術(shù)實現(xiàn)Word報表自動生成

      2015-05-30 13:22:14婁國哲
      中國新通信 2015年24期

      婁國哲

      【摘要】 本文對比了常用的Word報表生成技術(shù)的特點,介紹了基于WordXML技術(shù)實現(xiàn)Word報表的優(yōu)勢和流程,并以一個實際應(yīng)用中的范例給予了說明。

      【關(guān)鍵詞】 Word報表 WordXML 自動生成

      自動化辦公系統(tǒng)中,報表組件是必不可少的組成部分。報表組件的種類繁多,使用的技術(shù)也不盡相同。常用的商業(yè)化報表組件功能強大,支持多種輸出格式,但與Word格式完美兼容的不多。在一些習慣使用Word作為辦公文檔的單位中,Word報表的生成技術(shù)仍然不可或缺。

      一、Word報表生成技術(shù)對比

      Word報表的生成技術(shù)大致分為兩類:。

      (一)使用COM接口操作Word對象。該方法可以充分利用微軟提供的API實現(xiàn)各種復(fù)雜的操作,但也存在明顯的不足。首先,應(yīng)用程序依賴Office COM接口意味著報表生成過程無法脫離Office運行環(huán)境,從而無法實現(xiàn)跨平臺;其次,Office COM接口的執(zhí)行效率一直為開發(fā)者和使用者所詬??;再次COM技術(shù)較為復(fù)雜,一般用戶難以完成報表模板的定義工作。

      (二)使用XML技術(shù)操作Word XML對象。該方法是Office2003以上版本支持的方法,該方法的共同點是報表的生成不再依賴Office接口,而且效率極高。該類方法又可細分為兩種。一種方法是使用類似FreeMarker的模板引擎來生成Word報表。該方法要求精通XML技術(shù)的開發(fā)人員使用XML編輯器來定義模板,模板定義好后不再支持使用Office對此文檔進行再編輯,也不方便開發(fā)人員修改模板;另一種方法是使用WordProcessingXML(簡稱WordML)技術(shù)來生成Word報表。該方法中使用的模板可以通過Office直接定義,這樣既降低了開發(fā)難度,同時也方便了用戶對模板的二次定制和數(shù)據(jù)復(fù)用。

      二、基于WordXML技術(shù)的Word報表生成流程

      報表的生成一般方法是通過某種規(guī)則將數(shù)據(jù)自動填充到預(yù)定的報表模版中?;赪ordXML技術(shù)的Word報表生成流程一般分為四步:

      (一)根據(jù)報表數(shù)據(jù)生成XML架構(gòu)文件。報表中填充的數(shù)據(jù)必須是定義良好的XML文檔,而對XML文檔格式的最佳描述是XML架構(gòu)文件(XSD文件)。Word模板定義過程的依據(jù)即是XML數(shù)據(jù)的架構(gòu)文件。XML架構(gòu)文件的生成方法很多,Visual Studio中提供的XSD命令可以根據(jù)實體類生成對應(yīng)的XSD;XMLSpy軟件可以通過XML數(shù)據(jù)文件自動生成架構(gòu)文件。

      (二)定義Word報表模板文件。首先打開Word軟件,新建或選擇Word模板文件,導(dǎo)入第一步中生成的XML架構(gòu)文件;然后通過鼠標將XML架構(gòu)中的節(jié)點與模板中的內(nèi)容一一對應(yīng)起來,注意要按照先父節(jié)點后子節(jié)點的順序進行操作;最后將模板保存為XML格式。

      (三)生成XSLT轉(zhuǎn)換文件。Word報表模板是XML文件,Word報表也是XML文件。我們可以使用擴展樣式表語言(XLST)自動完成模版文件到報表文件的自動轉(zhuǎn)換。微軟提供了由模板生成XLST文件的工具(WML2XSLT,可以從微軟提供的Word 2003:XML SDK中下載),該工具提供了命令行接口完成XLST文件的自動生成。

      (四)使用報表數(shù)據(jù)生成最終報表。有了XLST文件,就可以將定義良好的XML數(shù)據(jù)直接轉(zhuǎn)換為最終報表。我們可以使用任何一種支持XML的編程語言編寫報表生成程序,也可以使用第三方XML編輯器完成自動轉(zhuǎn)化(如XMLSpy等)。

      三、實際應(yīng)用舉例

      我們以個人信息報告表為例來說明報表的生成流程。報告表中所使用的人員數(shù)據(jù)主要包括基本信息、培訓(xùn)履歷和工作履歷三部分內(nèi)容,如圖1所示。其中,基本信息包含了姓名、性別、出生時間等十幾個信息項;培訓(xùn)履歷最多允許填寫四條記錄,主要包含了起始時間、終止時間、院校名稱、所學(xué)專業(yè)和獲得學(xué)位5個信息項。

      報告表模板中包含了多個表格。Word使用粉紅色文本框(可以隱藏)顯示XML文章中節(jié)點與文章中位置的對應(yīng)關(guān)系格的某個單元格,如圖2所示:基本信息中的每一個信息項對應(yīng)了表格中的某個單元格;培訓(xùn)履歷記錄對應(yīng)了第二個表格中的明細行。 根據(jù)XML格式人員數(shù)據(jù)生成報告表后,人員數(shù)據(jù)將替圖2中的標簽。如果培訓(xùn)履歷中有多條記錄,則會在對應(yīng)表格中新插入新行以顯示數(shù)據(jù)。

      四、結(jié)語

      基于WordXML技術(shù)的Word報表生成方法不僅簡單易上手,而且具有良好的可擴展性。雖然自O(shè)ffice 2012后Word不再支持這種定義機制,但此方法仍有不少的應(yīng)用場景。

      參 考 文 獻

      [1] Microsoft Corporation. Overview of WordprocessingML[EB/OL]. http://rep.oio.dk/Microsoft.com/officeschemas/ welcome.htm,2015-3

      [2] W3School. XSLT 教程[EB/OL].http://www.w3school.com.cn/xsl/index.asp, 2015-3

      [3] 唐雪梅. 利用XML格式解析原理批量進行成果資料格式檢查. 物探化探計算技術(shù)[J],2013(05):617.

      涞源县| 宁陕县| 北川| 冕宁县| 琼海市| 长岭县| 津南区| 广昌县| 沛县| 梁河县| 龙南县| 梅河口市| 柳河县| 茌平县| 正阳县| 静宁县| 富裕县| 垫江县| 铁力市| 竹溪县| 合水县| 柳州市| 德钦县| 通榆县| 南靖县| 浙江省| 梁山县| 延安市| 揭西县| 莱芜市| 喜德县| 永胜县| 景德镇市| 峨山| 莱阳市| 平潭县| 金寨县| 屯留县| 石棉县| 岗巴县| 托里县|