做这个事情的起因是笔者每个学期末都要做好几张试卷分析,工作单调重复,并且周围很多人都有类似的困扰。特别是当统计工笔者面对大量相同格式的统计报表时,所做的工作往往只是重复性劳动,此时就需要一个模板,可以每次自动导人数据,自动生成人们想要的报告,把人们从繁重、重复的工作中解脱出来。基于这个考虑,本章先介绍一点编程理论,然后以案例的形式详细介绍如何利用MATLAB生成World和Excel文档。读者可以参照本章内容,尝试生成自己想要的统计报告或报表。
本章主要内容包括:微软组件对象模型(COM),基于COM技术的ActiveX控件接口技术,利用MATLAB生成word文档,利用MATLAB生成。Excel文档。
1.1 组件对象模型(COM)
1.1.1 什么是COM
事物的发展总是处在不断的新老交替中,软件的开发也不例外。辛辛苦苦开发出一个比较大型的应用程序交给客户使用,过一段时间后应用程序需要升级,需要添加一些新的特性,怎么办?再组织人力物力重新编写所有代码,重新编译?这显然不太现实。为此,微软公司提出了组件对象模型(Component Object。Model,COM),它是微软公司为了使软件开发更加符合人的行为方式而提出的一种规范。在这种规范下,单个应用程序被分隔成多个独立的部分,即组件(component)。这种做法的好处是可以随着技术的发展而用新的组件取代已有的组件,此时的应用程序不再是一个一出生就命中注定会过时的静态程序,而是随时可以用新组件取代旧组件而“返老还童”的动态程序。
COM组件是由以win32动态链接库(DLL)或可执行文件(.exe)的形式发布的可执行代码组成的,其必须满足以下几个条件。
①为了使客户在应用程序的运行中能够将组件替换掉,组件必须动态链接。
②它们必须隐藏(或封装)其内部实现细节。而各组件是通过接口连接在一起的,接口不能变,所以组件要实现封装。
③封装之后的组件以二进制的形式发布。
④开发组件的编程语言必须被隐藏起来,也就是说COM组件是与语言完全无关。
⑤组件必须可以在不妨碍已有用户的情况下升级,也就是说一个组件的新版本必须既能够同老版本的用户一起使用,也要能够和新版本用户一起使用。
……