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