Excel 编程模型的说明
引用徐文兵的博客: http://www.cnblogs.com/macroxu-1982/archive/2006/11/21/567305.html
在这里 ,就大概描述了在Excel 编程中常用的对象的层次关系。
Excel Application 代表整个 Microsoft Excel 应用程序,
WorkBook 代表 Microsoft Excel 工作簿
Range 代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。
Areas 选定区域内的子区域或连续单元格块的集合。
Borders 代表对象的边框。
Characters 代表包含文本的对象中的字符。可用 Characters 对象修改包含在完整文本字符串中的任意字符序列。
Font 包含对象的字体属性(字体名称、字体大小、字体颜色等)。
ListRow 代表列表对象中的一行。
Errors 表示区域的电子表格错误。
Excel进程在程序中处理
徐先生在Excel进程中出理的方式用了时间推算法,虽然不失为一种方法,但是这不是一个很好的办法,因为当客户在这个时间内打开一个Excel 文档的时候,在运用程序关闭的同时也关闭了用户打开的这个程序,这是用户不想看到的,当然,在多用户的条件下运行,就像徐说的,也是有问题的。我们知道,Excel编程调用了COM 组建,要释放其资源是一件很头疼的事情,除此之外,在Debug下,调式程序也是很难的意见事情,因为有时候行号和当前的光标不匹配,给调式带来视觉误差。调式也是要一定技巧的,以后有时间慢慢说。回到资源释放问题:我也查阅了很多资料,一般有以下几种解决方法:
(1). 在对象退出之前调用系统已有方法进行释放。例如:
Excel.Application app = new Excel.Application();//open one Excel application
.............
app.Quit();//quit the Excel application and release resource
一般的话只要调用这个Quit()这个方法,资源一般都会释放。
(2). 为确宝资源的释放,可以在运行程序退出后,在RunTime再次对垃圾进行回收,可以用如下方法:
经过测试一般是没什么问题的,注意释放的顺序。