朱丹丹
摘 要:文章將研發(fā)方向鎖定在了“基于Web的Office應(yīng)用開發(fā)的研究和實踐”這一極具實際意義的課題上,通過參考國際上先進的研發(fā)成果,將其總結(jié)、歸納、再創(chuàng)新,最終拓展出一套Web平臺Office應(yīng)用開發(fā)的解決方案及構(gòu)件庫WATO(Web Application Tool for Office),使之有效地集成到企業(yè)應(yīng)用中。
關(guān)鍵詞:Office;應(yīng)用開發(fā);實踐
當(dāng)今社會已經(jīng)步入高速發(fā)展的信息化時代,而Office的應(yīng)用開發(fā)仍然在當(dāng)下具有舉足輕重的地位。在傳統(tǒng)的模式中,Office應(yīng)用開發(fā)主要有兩種編程方式:VBA和COM,這2種方式都是采取直接編程。也有的機構(gòu)利用一些Office應(yīng)用開發(fā)工具,總之這類方法的共性就是必須在服務(wù)器上安裝微軟的Office應(yīng)用軟件,同時還要啟動Office進程。進程啟動過多的后果就是占用服務(wù)器資源,嚴重影響服務(wù)器的運行速度。針對這些弊病,微軟公司隨之推出了Office Open XML,在一定程度上取得了成效,但仍然有不少改進的空間。信息化席卷全球的幾十年來,Office一直都是全世界辦公和家用平臺最主流的儲存數(shù)據(jù)和轉(zhuǎn)換數(shù)據(jù)工具,而近年來多媒體日新月異的發(fā)展卻必將促使這一傳統(tǒng)格局的瓦解,促生出新的模式。簡言之,接收和開啟文件的平臺和社會將朝多元化的方式演進。
1 Web的Office應(yīng)用新方向歸納
除了VBA和VSTO之外,微軟為Office平臺開發(fā)者推出了新擴展應(yīng)用模型(App Model),基于此平臺上的Office擴展應(yīng)用,官網(wǎng)將其稱為Office Apps,或Apps for Office,還有的場合也命名為Office 2013 Add-Ins。跟原先的VBA和VSTO兩種方式比起來,App Model的革新之處主要表現(xiàn)在幾個方面:
(1)傳播為主,盈利為輔。VBA和VSTO的開發(fā)者大多是為了提高工作效率,開發(fā)出的腳本或者Assembly多在本部門或者公司內(nèi)傳播使用。App Model允許開發(fā)者將應(yīng)用發(fā)布在Office商店,在全球Office用戶之間實現(xiàn)即時共享。同時,在收費方式上也顯出人性化理念:允許開發(fā)者用戶實際需求劃分資費標準,削減了各公司之間,乃至于同一公司的不同部門間屢發(fā)的重復(fù)投資,真正做到“共享相同應(yīng)用完成同一件事情”。
(2)更扎實的技術(shù)支持。VBA和VSTO的開發(fā)者需要學(xué)習(xí)更多的入門知識,才能弄清2種開發(fā)模型與Office程序的交互流程。比如需要弄清VBA有哪些語法,編寫指令的完成度。App Model的開發(fā)則更像是Web應(yīng)用程序的開發(fā),開發(fā)者可將Web應(yīng)用的開發(fā)體驗無縫隙對接到Office擴展應(yīng)用中。
(3)更新了拓展程序?;赩BA和VSTO的Office擴展應(yīng)用程序(或應(yīng)用腳本),一般都以本地拷貝的方式進行傳播,它們運行在Office的脫機程序上,并依賴相對應(yīng)的平臺支持運作(如VSTO依賴于Office軟件提供的主互操作程序集,諸如Microsoft.Office.Interop.Excel.dll)。然而,當(dāng)Office軟件與其他平臺不兼容,產(chǎn)生運行沖突時,就有可能出現(xiàn)同一腳本或應(yīng)用程序在不同的機器上運算不同,甚至根本不支持的情況。新的App Model開發(fā)出的Office App,究其本質(zhì),就是運行在Office平臺(包括2013及以后的客戶端,Web版、RT版,甚至是Mac版,詳情請點擊此處)上嵌入的iframe. App,開發(fā)者可以根據(jù)實際情況快速地更新App功能并修復(fù)bug.
(4)開放式建模。新的App Model在Office軟件的開放性上有了空前突破,開發(fā)者意在使Office平臺強大的文檔功能與開放的互聯(lián)網(wǎng)技術(shù)二者相得益彰。開發(fā)者可以在App中嵌入VBA腳本,從而拓展VSTO程序的功能。加之越來越多的數(shù)據(jù)源提供給開發(fā)者REST API(如Office365 REST API就允許開發(fā)者通過1組UR的方式訪問用戶的郵件、日歷、SharePoint Online和One Drive for Business上的目錄及文件等),更使得開發(fā)者可以在應(yīng)用中采取靈活的Web 開發(fā)手段訪問不同的數(shù)據(jù)源,補充需求。
2 基于新方向的研究和實踐
在上文中提到,Office的應(yīng)用開發(fā)都要依賴VBA和COM,并采用直接編程,意味著此方法無法集成地應(yīng)用到企業(yè)管理中。之后的Web Office也不外乎使用此類技術(shù),實際效果有所改善,卻難免有治標不治本之嫌。畢竟,它仍然必須在服務(wù)器上再次安裝Microsoft Office組件,而且運行讀取數(shù)據(jù)時進程冗長緩慢,這些問題在web應(yīng)用中令人十分頭疼,給NET平臺的Web項目開發(fā)造成了明顯的障礙。
因此,本研發(fā)小組不再使用COM,而采用WATO的組件庫降低服務(wù)器資源的占用率,達到保障整體運行速度的效果,優(yōu)化了系統(tǒng)性能。同時,WATO提供了大量的組件庫,Office文件格式對于程序員是透明的,即使無法對Office內(nèi)部程序進行深度操作的程序員同樣能輕松駕馭——多行表頭、單據(jù)明細、圖表分析等常用格式,以前需要一連幾個工作日的工作量,現(xiàn)在通過標準模板配置,幾個小時就可以完成了,且質(zhì)量和性能均能得到保證。
對此,本文對研究成果進行了大量的實驗和檢測工作。本文挑選了50個用戶配合設(shè)計進行了測試,測試結(jié)果顯示服務(wù)器端不產(chǎn)生任何Office進程,而是直接讀寫文本文件,并支持二進制和Office Open XML這2種格式,顯著提高了系統(tǒng)的處理能力,深受用戶贊同。
3 結(jié)語
WATO可以在桌面或Web服務(wù)器環(huán)境下發(fā)送標準格式的Office文檔,不依賴于Microsoft Office軟件,它不但能夠超越應(yīng)用程序的限制,支持非常多的特性,這些優(yōu)先特征為開發(fā)者帶來更多的方便,在今后的開發(fā)項目應(yīng)用過程中不但能夠提高工作效率,削減成本,同時還兼顧提高產(chǎn)品質(zhì)量,實為Web的Office應(yīng)用開發(fā)的研究和實踐課題下可喜的研究成果。
[參考文獻]
[1]鄒黎.基于Web的Office應(yīng)用開發(fā)的研究和實踐[J].硅谷,2011(5):76-77.
[2]陳宇.MicrosoftOffice外接對象技術(shù)研究[D].哈爾濱:哈爾濱理工大學(xué),2006.
[3]吳宏良.Office文檔對象分析與自動閱卷系統(tǒng)研究[D].上海:華東師范大學(xué),2009.
[4]余欣.企業(yè)文檔的數(shù)字權(quán)限管理研究與應(yīng)用[D].成都:四川大學(xué),2006.
[5]李金寶,冷秋穎.通過VBA編程實現(xiàn)Office辦公軟件更高層次地開發(fā)與應(yīng)用[J].吉林省教育學(xué)院學(xué)報:學(xué)科版,2009(7):141-142.
The Research and Practice of Office Application Development Based on Web
Zhu Dandan
(School of Computer Science and Technology, Xiantao Vocational College, Xiantao 433000, China)
Abstract: The direction of research and development is locked in the “the research and practice of Office application development based on Web”this very practically significant subject, by reference to the international advanced research results, the summary, induction, and innovation, eventually develop a set of Web platform Office application development solution scheme and component library WATO (Web Application Tool for Office) effectively integrated into the enterprise application.
Key words: Office; application and development; practice