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

笔者在实际工作中经常用Excel表做数据报表,大多数表格的数据都要从数据库中读取,这样我就用C++Builder做了一个报表程序,方便了很多,现在把它共享给C++Builder爱好者们,就算为丰富C++Builder的文档资料做点事情吧。

  首先把Excel报表文件保存到一个指定目录下,最好放在可执行程序的子目录下,作为模板文件。可以把报表标题、表头等设置好。这里是保存在trpt子目录下。

  然后建一个report目录,作为报表目标文件夹,存放填好数据的报表,可以由用户直接操作。

  首先确定在你的机器中装有Office。这里一Office2000为例。

  在C++Builder中新建一个工程,在窗体Form1上面放一个两个按钮SaveButton和ReadButton,分别用来保存数据到Excel表和显示刚刚保存的Excel表。

  在SaveButton按钮的单击事件中把从数据库中取到的数据放入到指定的Excel表中并将改文件拷贝到report目录下。在ReadButto按钮的单击事件中显示report目录下的报表文件,方便用户修改和另外保存。

  在Form1.h头文件中定义几个变量:

private:
Variant Ex,Wb,Sheet,ERange,EBorders;

  并在文件头中包含如下语句:

#include "Excel_2K_SRVR.h"
#include

  在Form1.cpp的文件头中加入

#pragma link "Excel_2K_SRVR"

  主要代码如下:

void __fastcall TForm1:: SaveButtonClick(TObject *Sender)
{
try
{
SaveButton->Enabled = false;
ReadButton->Enabled = false;//使两个按钮无效

file://取报表文件CardSend.xls的完整目录名
AnsiS
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C++ Builder是一个强大的集成开发环境,其中包含了许多功能丰富的组件和库。OLE(Object Linking and Embedding)技术是一种微软开发的机制,可以实现不同应用程序之间的通信和数据共享。 在C++ Builder中,我们可以使用OLE技术来存取Excel数据,具体步骤如下: 1. 首先,需要在项目中导入相关的类型库。在工具菜单下的“其中库”选项中,选择“import ActiveX control”,然后选择Microsoft Excel类型库。 2. 在代码中引入Excel类型库的头文件,例如:#include <excel_97.h> 3. 创建一个Excel对象,可以使用CoInitialize函数初始化COM库,并用CoCreateInstance函数创建Excel对象。例如: ``` CoInitialize(NULL); _ApplicationPtr excelApp; CLSID clsid; CLSIDFromProgID(L"Excel.Application", &clsid); excelApp.CreateInstance(clsid); ``` 4. 打开Excel文件,可以使用excelApp对象的Workbooks属性获取Workbooks对象,然后使用Open函数打开指定的Excel文件。例如: ``` _WorkbooksPtr workbooks = excelApp->Workbooks; _WorkbookPtr workbook = workbooks->Open(L"文件路径"); ``` 5. 在打开的Excel文件中获取数据,可以使用workbook对象的Worksheets属性获取Worksheets对象,然后使用Cells属性访问指定的单元格。例如: ``` _WorksheetPtr worksheet = workbook->Worksheets->GetItem(1); _RangePtr range = worksheet->Cells; _range->Item[1][1]->Value = L"Hello"; ``` 6. 在完成对数据的操作后,记得关闭Excel文件并释放对象,可以使用workbook对象的Close函数关闭文件,然后使用excelApp对象的Release函数释放Excel对象。例如: ``` workbook->Close(); excelApp->Release(); CoUninitialize(); ``` 通过以上步骤,我们就可以使用C++ Builder中的OLE技术来存取Excel数据了。当然,还可以使用其他Excel对象和函数进行更多高级的操作,例如添加数据、保存文件等。有关详细的操作可以参考C++ Builder的相关文档或搜索相关的技术资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值