国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WordXML技術(shù)實(shí)現(xiàn)Word報(bào)表自動(dòng)生成

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

婁國(guó)哲

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

【關(guān)鍵詞】 Word報(bào)表 WordXML 自動(dòng)生成

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

一、Word報(bào)表生成技術(shù)對(duì)比

Word報(bào)表的生成技術(shù)大致分為兩類(lèi):。

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

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

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

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

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

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

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

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

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

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

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

四、結(jié)語(yǔ)

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

參 考 文 獻(xiàn)

[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格式解析原理批量進(jìn)行成果資料格式檢查. 物探化探計(jì)算技術(shù)[J],2013(05):617.

德江县| 于田县| 昭平县| 元谋县| 久治县| 宜丰县| 桂林市| 兴国县| 乌鲁木齐县| 柯坪县| 东阳市| 政和县| 双柏县| 莫力| 西城区| 宝坻区| 安庆市| 湘阴县| 荥阳市| 施甸县| 吉隆县| 象州县| 林甸县| 太仆寺旗| 门头沟区| 昂仁县| 老河口市| 绍兴市| 汉中市| 徐闻县| 肥乡县| 崇明县| 云梦县| 共和县| 塔河县| 沙坪坝区| 于都县| 正阳县| 蒙城县| 玉田县| 张家川|