朱丹丹
摘 要:文章将研发方向锁定在了“基于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