摘要 在操作Word、Excel、PointPower等办公软件的同时,人们通过编程扩展的方式去处理更为庞大的信息和数据。Java和VB.Net是当前比较流行的两种编程工具,本文将尝试探讨比较两者在处理办公文档时,在方便性和效率两方面的差异和优劣。
关键词 办公自动化,POI,JCOM
一、 理解对象模型
微软采用OLE2技术把整个Office中相关的软件进行了有效的整合,它能够把Word,Excel,PowerPoint,Access有效的整合在一起,使办公相关的文档、图表、数据库、演示变成了一个一体化的东西。而且通过编程调用,用户可以自己定制用户界面并编制适当的模板,实现二次开发。
在Office中,每个内容和功能单元,每个工作簿(workbook),工作表(worksheet),文档,文本范围,幻灯等都是对象,可以在Visual Basic中进行编程控制。
二、 对象及对象模型
在你通过编程对应用程序中的内容和功能进行访问之前,很重要的一点就是需要了解应用程序中的内容和功能是如何被分割成分离的对象的,以及这些对象是如何被组织在一个继承的模型里的。
一个应用程序包含内容和功能两部分。内容依赖于应用程序所包含的文档,以及包括在文档中的字词,数字,或是图形;它还依赖于有关应用程序中的独立要素的属性信息,例如说窗口的大小,图形的颜色,或是一个字词的字体大小等。功能依赖于使用应用程序中的内容来进行工作的所有方法。例如,打开、关闭、添加、删除、拷贝、粘贴、编辑、或是格式化应用程序中的元素。应用程序中的内容和功能被分割为有关联的内容和功能的不连续的单元,叫做对象(object)。例如一些用户界面的要素:MicroSoft Excel工作簿,工作表,以及表格单元格范围;Word 的文档和小节、段落;以及PowerPoint的介绍和幻灯片等。
在一个应用程序中,最高级别的对象通常是application对象,它就是应用程序本身。例如,在 MicroSoft Excel 对象模型中的application 对象就是MicroSoft Excel本身。在 application 对象中包含了一些其他的对象,这些对象只有在application 对象存在的时候(也就是说,当应用程序运行的时候)才可以访问到它们。例如,MicroSoft Excel 的 application 对象包含了 workbook对象,而Word 的application 对象中则包含了document对象。因此 document 对象的存在依赖于Word 的application 对象,所以此document对象被称之为 application 对象的子对象(child),反过来,此application 对象被称之为 document对象的父对象(parent)。许多子对象又有它们自己的子对象。例如,在MicroSoft Excel 里,workbook对象是worksheet对象的父对象,worksheet对象表示在 workbook对象中的所有的工作表,它又是range对象的父对象。另外,一个父对象可以拥有多个子对象;例如,Word 的 Windows 对象拥有 panes ,selection以及object 等子对象。同样,一个子对象也可以拥有多个父对象;例如,Word的Windows 集合对象同时是 application 对象和 document对象两者的子对象。
对象组成应用程序的方法彼此之间按照它们被分开的内容的功能又相互联系起来,这叫做对象的分层结构(object hierarchy)或是对象的模型(object model)。如图 1显示的是Excel部分的对象层次关系。