频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用C++Builder存取Excel文件

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组
下一页 1 2 3 4 

  C++Builder是Borland公司继Delphi之后又一成功的产品,她集VB、VC++ 及 Delphi 的优点于一体而深得C语言爱好者的青睐。由于多数操作者爱用 MicroSoft公司的Excel组织数据,为此本文介绍了用C++Builder存取Excel 文件的两种方法。

  一.用OLE技术操纵Excel

  OLE(对象链接与嵌入)是微软提出的标准,是应用程序间交换数据、相互操作的一种方式,MS OFFICE 提供了很强的 OLE 服务功能,VB、Delphi 及C++Builder等语言都可以以客户方式向Excel提交命令,以存取其数据,其中VB和Delphi最为简单,在语法上就采用类VBA的语句,本报九九年第48期的《在Delphi中操作Excel》一文曾介绍了Delphi的做法。我们原以为C++Builder照搬Delphi,结果语法编译都未能通过,查不到这方面具体介绍的资料。经反复试验方知:原来C++Builder采用间接的办法,利用变体类Variant所提供的四个“方法”向OLE服务程序提交操纵命令:

    Variant Variant::OlePropertyGet(属性名,参数….);
  // 取对象属性
   Void   Variant::OlePropertySet(属性名,参数….);
  // 设置对象属性 
   Variant Variant::OleFunction(函数名,参数….);
   // 运行对象的函数
   void   Variant::OleProcedure(过程名,参数….);
   // 运行对象的过程

  其头文件“vcl\utilcls.h”必须嵌在用户程序中,

  对于这四个长长的方法名可在程序中用宏语句重新定义一下:

        #define  PG  OlePropertyGet
       #define  PS  OlePropertySet
       #define  FN  OleFunction
       #define  PR  OleProcedure

  例如对于VB的提交语句: 

  Ex.ActiveWorkBook.ActiveSheet.Cells(1,2).Value=3

  为便于理解在C++Builder对应的语句可分解为如下四句:

       Variant t1=Ex.OlePropertyGet("ActiveWorkBook");
      Variant t2=t1.OlePropertyGet("ActiveSheet");
      Variant t3=t2.OlePropertyGet("Cells,1,2);
            t3.OlePropertySet("Value",3);

请保留地址 http://www.qqread.com/excel/d354392.html 更多文章 更多内容请看C/C++技术专题专题,或进入讨论组讨论。
下一页 1 2 3 4 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章