• Excel 二次开发系列(1): Excel 编成模型


    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再次对垃圾进行回收,可以用如下方法:

    ReleaseCOM

    经过测试一般是没什么问题的,注意释放的顺序。

  • 相关阅读:
    mysql索引创建和使用细节(二)
    mysql索引创建和使用细节(一)
    PHP7.2.6安装sodium扩展
    passwd修改密码失败,报鉴定令牌操作错误
    centos6升级python版本至python3.5
    centos6升级gcc版本
    elasticsearch中文手册
    MySQL主从仅同步指定库
    适用于Centos6/7,vsftp自动安装脚本
    Redis内存模型
  • 原文地址:https://www.cnblogs.com/tomin/p/Excel_second_develepment_serise1.html
Copyright © 2020-2023  润新知