C++Builder存取Excel文件

C++ Builder XE关于AdvStringGrid对EXCEL母表快速分表,并批量插入sheet子表简单操作,免费工具 RzListBox1->Items->Append(RzButtonEdit1->Text+"\\"+Btzd->Strings[Bi]+"_分表.xlsx");if( AdvStringGrid1->Cells[ZDint][j]== Btzd->Strings[Bi] ) //分表字段类。//查找字段列有多少个不同类。//删除所有表格文件。//删除所有表格文件。 阅读详情

 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(过程名,参数….);
   // 运行对象的过程

其头文件“vclutilcls.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);
可去掉中间变量将这四句合为一句,就是:
   Ex.PG("ActiveWorkBook").PG("ActiveSheet").
PG("Cells",1,2).PS("Value",3);  
我们将下面的VB程序片段改成对应的C++Builder程序以供参考:
Private Sub Command1_Click()     ' Visual  Basic程序片段
    Dim  Ex  As  Object,Wb  As Object, Sh1 As Object
    Set  Ex = CreateObject("Excel.Application")
    Ex.WorkBooks.Open("c:ook1.xls")
    Set  Wb = Ex.Activeworkbook
    Set  Sh1 = Wb.ActiveSheet
    Text1.Text = Sh1.Cells(1, 1).Value
    For  i = 1 To 10: For  j = 1 To 10
        Sh1.Cells(i, j).Value = i * 100 + j
    Next j: Next i
    Wb.save: Wb.Close: Ex.Quit
End Sub  '  - - - - - -- - - - - - - - - - -

#include "Unit1.h"        // C++Builder程序片段
#include "vclutilcls.h"  // util classes实用类说明
//  …省写此处原一段代码
//  请在此处插入上面提及的四个宏定义语句
void __fastcall TForm1::Button1Click(TObject *Sender)
{    Variant Ex,Wb,Sh1;
     Ex=Variant::CreateObject("Excel.Application");
     Ex.PG("WorkBooks").PR("Open","c:/book1.xls");
     Wb=Ex.PG("ActiveWorkBook"); Sh1=Wb.PG("ActiveSheet");
     Edit1->Text=Sh1.PG("Cells",1,1).PG("Value");
     for (int i=1;i<=10;i++)
        for (int j=1;j<=10;j++)
           Sh1.PG("Cells",i,j).PS("Value",i*100+j);
     Wb.PR("Save"); Wb.PR("Close");
}

---- 使用这种方法的程序运行时,必须保证系统中同时有MS OFFICE;

C++Builder 导出数据到EXCEL表格 C++Builder 导出数据到EXCEL表格 C++Builder 导出数据到EXCEL表格 C++Builder 导出数据到EXCEL表格 C++Builder 导出数据到EXCEL表格 立即下载

相关推荐

BCB调用EXCEL方法及实例

BCB调用EXCEL方法及实例

c++Builder操作Excel

近期为了给教研室做一个签到的小软件,主要思路是各人上下班后在自己机子上的客户端点上下班,服务器将每个人的上下班时间自动的写到excel表格里去,用到了程序对excel的一些操作,现整理如下: 要在应用程序中控制Excel2000的运行,首先必须在编制自动化客户程序时使其头文件要包含Comobj.hpp和Utilcls.h。 即:#include #include C++ Builder

lxqlyld的专栏 1279

MIPI DSI2接口开发避坑指南:以RK3576的GM8775C桥接芯片调试为例

本文以RK3576平台搭配GM8775C桥接芯片为例,深入剖析MIPI DSI2接口开发中的常见问题与解决方案。文章详细解读了从U-Boot阶段到内核DRM驱动架构的完整显示通路构建,重点分享了电源时序管理、寄存器配置与硬件协同调试等实战经验,为嵌入式显示系统开发者提供了一套系统化的避坑指南和调试方**。

weixin_29290379的博客 329

C++ builder 操作Excel方法(据网上资料整理)

c++ builder 操作Excel方法,下面是从网上找到的一些不错的方法,学习一下: 1 用OLE操作Excel(目前最全的资料)(04.2.19更新) 2 3 本文档部分资料来自互联网,大部分是ccrun(老妖)在Excel中通过录制宏-->察看宏代码-->转为CB代码而来.本文档不断更新中.欢迎大家关注. 4 5 要在应用程序中控制Excel的运行,首

Kernel Main的专栏 3436

C#实践项目1

需求: 在CAD内实现两个坐标系的转换。 转换方式为文件内的所有图形从一个坐标系下的坐标,转换到另一个坐标系下的坐标。 进行坐标转换后,仅仅是坐标发生改变,图层、样式等等不会发生变化。

weixin_51182789的博客 5324

Simulink Test Sequence自动化测试实战:从Excel到模型验证

本文详细介绍了如何利用Excel和MATLAB脚本实现Simulink Test Sequence的自动化测试。通过设计结构化Excel模板管理测试数据,并调用Simulink Test API批量创建与执行测试用例,该方法能显著提升复杂模型单元测试的效率,便于集成到CI/CD流程,实现从数据到验证的全自动化。

weixin_29261711的博客 144

在C++ Builder中用Ole控制Excel表

笔者在实际工作中经常用Excel表做数据报表,大多数表格的数据都要从数据库中读取,这样我就用C++Builder做了一个报表程序,方便了很多,现在把它共享给C++Builder爱好者们,就算为丰富C++Builder的文档资料做点事情吧。  首先把Excel报表文件保存到一个指定目录下,最好放在可执行程序的子目录下,作为模板文件。可以把报表标题、表头等设置好。这里是保存在trpt子目录下。  然后

键者天行 8141

用UDP协议在dos命令行里模拟一个聊天程序

/* 需求: 在dos命令行里模拟一个聊天程序 有收数据的部分,和发数据的部分,这两部分需要同时执行。 那就需要用到多线程技术。 一个线程控制收,一个线程控制发。 */ import java.io.*; import java.net.*; class C

s_x_x的记录 1955

c++ builder 写入excel初探

// 在安装完c++ builder中,在不用第三方库的情况下,进行excel写入,需要安装excel软件。 //需要有这行头文件#include "Comobj.hpp" //程序是可以运行的。 //新建个窗体程序,在画面上放1个按钮,双击按钮,添加如下程序。 Variant my_excel;//应用 Variant all_workbooks;//工作薄集合 Variant my_workbook;//工作薄 Variant my_worksheets;//表单集合 Var...

weixin_39926429的博客 1053

Dynamics 365从入门到精通:一站式掌握微软智能商业应用平台

很多新手学Dynamics 365时,容易陷入“死记功能”的误区,其实这款平台的核心价值不是“功能多全”,而是“能适配企业业务流程,通过生态集成提升效率”。先从具体业务场景入手,理解每个功能的实际价值;再通过生态集成拓展系统能力;最后通过开发实现定制化,满足企业的特殊需求。按照这个思路,新手不用害怕复杂,一步步落地实战,3个月就能从“入门”到“能独立负责项目”。如果在学习过程中遇到具体问题(比如部署报错、数据迁移失败),欢迎在评论区留言,我会结合实战经验帮你解答!

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1040

CCF编程培训师资认证(PTA)标准(教学能力T)

随着计算机科学的不断发展,计算机相关技术应用到社会各个行业,越来越多的青少年参加到了计算机程序设计的学习中,这对编程培训教师提出了更高的专业要求和职业要求。CCF开展编程培训师资认证项目(Programming Trainer Accreditation,PTA),旨在建立一个规范的、科学的、权威且有公信力的三方认证。认证考试分编程专业能力(P)和教学能力(T)两部分。本标准根据《CCF编程培训师资认证条例》第十条制定,旨在明确教学能力(T)的测试标准。

lan_in的博客 1709

C++ Builder 将数据库数据导出到Excel中总结3

String strValue = ""; TBookmark mBookMark ; TStringList *tsList = NULL;  //存储数据 AnsiString XLSFileName; Variant vExcelApp,vWorkBook ,vSheet;  //excel设置 try { tsList = new TStringList(); XL

1490

【AI大模型应用开发实战】大型语言模型评估指南白皮书(LLM Eval)

近年来,大型语言模型(LLM)在自然语言处理领域取得了重大进展,例如 GPT-3 和 Chat-GPT。这些模型经过大型数据集的训练,在文本相关任务中表现出卓越的能力,甚至超越了人类。本文将简要介绍如何验证 LLMs 性能的评估指标。自然语言处理(NLP)是人工智能的一个领域,涉及计算机和人类语言之间的交互。NLP 的基本任务之一是语言建模 (LM),它涉及构建统计模型来分析和生成自然语言。LM 已成为推进机器语言智能的关键方法,使机器能够执行机器翻译、情感分析和对话系统等任务。

AI天才研究院 1013

C++Builder中使用Excel的类

使用方法,把下面的RtpExcel中的RtpExcel.h段存成文件RtpExcel.h,RtpExcel.c存成文件RtpExcel.c并保存,加入到C++Builder的工程中即可使用。/*RtpExcel.h*///---------------------------------------------------------------------------#ifndef RptExc

jasonCSH的专栏 3009

Android Telephony主要模块及功能

Telephony的代码主要由五个模块组成 1.Telephony Frameworks 代码区域: frameworks/opt/telephony/ 其中主要的文件在如下目录 /frameworks/opt/telephony/src/java/com/android/internal/telephony/ 其中比较常见的有以下几类文件 1.BaseCommands、RIL构成R

泊客 7721

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

在C++Builder中利用OLE存取Excel文件(摘录)

要在应用程序中控制Excel的运行,首先必须在编制自动化客户程序时包含Comobj.hpp#include "Comobj.hpp"C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用。设置对象属性:void        OlePropertySet(属性名,参数……);获得对象属性:Variant     Ole

cmgiranlebur的专栏 1428

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

在C++Builder中利用OLE存取Excel文件

以下文章来源:http://www.wangchao.net.cn/bbsdetail_71562.html 要在应用程序中控制Excel的运行,首先必须在编制自动化客户程序时包含Comobj.hpp   #include "Comobj.hpp"   C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用。

ljianhui的专栏 3096

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

怎样用C++Builder存取Excel

--- C++Builder是Borland公司继Delphi之后又一成功的产品,她集VB、VC++ 及 Delphi 的优点于一体而深得C语言爱好者的青睐。由于多数操作者爱用 MicroSoft公司的Excel组织数据,为此本文介绍了用C++Builder存取Excel 文件的两种方法。  ---- 一.用OLE技术操纵Excel  ---- OLE(对象链接与嵌入)是微软提出的标准

xiaomifeng118的专栏 731

如何用BCB打开EXCEL文件

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

yedezhanghao的专栏 4034

用OLE技术操纵Excel

---- C++Builder是Borland公司继Delphi之后又一成功的产品,她集VB、VC++ 及 Delphi 的优点于一体而深得C语言爱好者的青睐。由于多数操作者爱用 MicroSoft公司的Excel组织数据,为此本文介绍了用C++Builder存取Excel 文件的两种方法。 ---- 一.用OLE技术操纵Excel ---- OLE(对象链接与嵌入)是微软提出的标准,是应用程序间

miderph的专栏 1515

如何用C++ Builder存取Excel数据

一.用OLE技术操纵Excel ---- OLE(对象链接与嵌入)是微软提出的标准,是应用程序间交换数据、相互操作的一种方式,MS OFFICE 提供了很强的 OLE 服务功能,VB、Delphi 及C++Builder等语言都可以以客户方式向Excel提交命令,以存取其数据,其中VB和Delphi最为简单,在语法上就采用类VBA的语句,本报九九年第48期的《在Delphi中操作Excel》

junson_liu的专栏 2651

利用ADOTable存取Excel文件

1、添加ADOTable1控件,设置下列属性: ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Persist Security Info=false;Data Source=c:/abc.xls"; TableDirect=true; TableName="sheet1"; Ac

BG6RSH's Space. 1494
上一篇: 用OLE操作Excel(Wangda补充)
下一篇: 垃圾邮件和贝叶斯过滤算法
marklr
博客等级 码龄19年 52粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值