`
isiqi
  • 浏览: 16549152 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

用OLE操作Excel(Wangda补充)

阅读更多

我也曾经在CSDN上写过BCB调用EXCEL的文章。思想和站长的《用OLE操作Excel(C++ Builder版)》如出一辙。
如果我们用2K的操作系统,可以发现如果只是用ExcelApp.PR("Quit")后,Excel线程还在,这样,如果应用程序不退出,被调用的EXCEL文件就无法在SHELL下用EXCEL打开。因此,我的BCB调用EXCEL是这样的在最后要加上一点工作,就是把所有的VARIANT变量都要设置为UNASSIGNED,我的一个小例子如下,新建立一个EXCEL文件,显示有多少个表单(sheet),然后添一个表单并命名为test,然后给(1,2)单元赋值。最后删除一个sheet.
==============================================================================
h文件定义宏
#define OPG OlePropertyGet
#define OPS OlePropertySet
#define OFN OleFunction
#define OPR OleProcedure
#define PR Procedure

添加变量:
Variant Axl,Workbook,AxSheet,nms,bef,aft;


cpp函数
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//赋值内容
AnsiString s="hello!";
//文件路径和保存名称
AnsiString filename=GetCurrentDir()+"\\test.xls";
//判断文件是否存在
if (FileExists(filename))
{
//询问是否删除
if (MessageDlg("文件已经存在,是否删除?",
mtWarning, TMsgDlgButtons() << mbOK<<mbCancel, 0)==mrOk)
DeleteFile(filename);
else
{ShowMessage("放弃操作");return;}
}
//建立excel连接
Axl= Variant::CreateObject("Excel.Application");
Axl.OPS("Visible",false);
Workbook= Axl.OPG("Workbooks");
//创建一个新的excel工作本(文件)
Workbook.Exec(PR("Add"));
Workbook=Axl.OPG("ActiveWorkbook");
//显示存在的sheet数目
int count=Workbook.OPG("sheets").OPG("count");
ShowMessage(IntToStr(count)+"个表");
//添加一个Sheet,命名为test
aft=Workbook.OPG("sheets",count);
Workbook.OPG("sheets").OPR("Add",bef.NoParam(),aft);
AxSheet=Workbook.OPG("ActiveSheet");
//Rename
AxSheet.OPS("Name","test");
//给单元1,2赋值
AxSheet.OPG("Cells")
.OPG("Item",(Variant)1,(Variant)2)
.OPS("Value",s.c_str());
//.Exec(PropertySet("Value")<< s.c_str());
//以上两种方式都可以

//选择第一张sheet
int sheetnum=1;
AxSheet=Workbook.OPG("sheets",sheetnum);
//选择名字为sheet2的表单
AnsiString shname="sheet2";
AxSheet=Workbook.OPG("sheets",shname.c_str());
//关闭警告提示
Workbook.OPG("Application").OPS("DisplayAlerts",false);
//删除选定表单
AxSheet.OFN("Delete");
//打开警告提示
Workbook.OPG("Application").OPS("DisplayAlerts",false);
//保存文件,两种方式都可以
//Workbook.Exec(PR("SaveAs")<<filename);
Workbook.OPR("SaveAs",filename.c_str());
//结束退出
Workbook.OPR("Close");
Axl.OFN("Quit");
//结束,如果没有如下代码,EXCEL线程直到应用程序退出才结束。
Axl=Unassigned;
Workbook=Unassigned;
AxSheet=Unassigned;
bef=Unassigned;
aft=Unassigned;
nms=Unassigned;
ShowMessage("Well Done boy!");

分享到:
评论

相关推荐

    OLE操作excel

    OLE 操作 Excel 是指使用 OLE 技术来操作 Microsoft Excel 应用程序,实现与 Excel 的交互操作。 Excel 的层次结构是指 Excel 应用程序的对象模型,包括 Application、Workbooks、Workbook、Worksheets、Worksheet...

    OLE 操作Excel的示例_OLE操作Excel的示例_

    总的来说,OLE操作Excel是一项强大的技术,它可以让我们在各种编程环境中灵活地使用Excel的功能,为用户提供丰富的可视化效果。通过学习和实践,我们可以将Excel的功能无缝集成到自己的应用程序中,提升用户体验,...

    SAP ABAP OLE 操作EXCEL小结

    SAP ABAP OLE 操作 EXCEL 小结是指使用 SAP ABAP 语言通过 OLE(Object Linking and Embedding)技术来操作 EXCEL 文件的技术。在 SAP 系统中,ABAP 语言可以直接操作 EXCEL 文件,实现数据处理。这里主要介绍使用 ...

    目前真正最全的OLE操作Excel的完整代码

    从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出关于使用OLE(对象链接与嵌入)技术在C#环境下操作Excel的关键知识点。以下是对这些知识点的详细阐述: ### OLE技术简介 OLE是Microsoft开发的一种...

    在SWT中使用OLE操纵Excel入门培训文档

    在SWT中使用OLE操纵Excel入门培训文档,里面整理了很多资源,下载的请使劲戳

    OLE操作EXCEL之DLL实现(C++)

    本案例涉及的是使用OLE技术并通过DLL(Dynamic Link Library)来操作Microsoft Excel。DLL是一种可重用代码的库,它能被多个程序调用,以实现功能扩展或共享服务。以下是关于"OLE操作EXCEL之DLL实现(C++)"的知识点...

    C++builder2010利用OLE操作EXCEl

    通过研究这些代码,你可以更深入地了解如何在C++Builder 2010中使用OLE技术操作Excel,并且可能也能学习到如何封装和复用二进制文件操作的代码。这将极大地提升你的C++编程能力和跨应用集成技能。

    通过ole 操作Excel的源代码

    在C++Builder中使用OLE操作Excel,主要是通过COM(Component Object Model)接口实现的。COM是微软的一种组件标准,它定义了一种二进制接口,使得不同进程中的对象可以相互通信。Excel作为一款强大的电子表格软件,...

    最新的OLE操作EXCEL大全

    在本例中,我们关注的是如何使用OLE来操作Microsoft Excel。以下是一些关于OLE操作Excel的关键知识点: 1. **启动Excel**: 通过`CreateOleObject`函数启动Excel应用程序。这行代码`ex=CreateOleObject("Excel....

    调用EXCEL 用OLE操作Excel

    ### 使用 C++Builder 通过 OLE 操作 Excel 的详尽指南 #### 一、概述 在软件开发领域,特别是涉及到数据处理与分析时,Excel 是一个不可或缺的工具。利用 C++Builder 中的 OLE(Object Linking and Embedding)...

    ole去操作excel

    ole去操作excel C#操作excel详解 直接上类,内有详细说明

    ABAP OLE开发EXCEL

    标题与描述均提及了“ABAP OLE开发EXCEL”,这明确指出了本文将探讨的主题:如何使用ABAP(一种由SAP开发的高级商务应用编程语言)通过OLE(对象链接与嵌入)技术来自动化操作Excel。在企业级应用程序中,尤其是SAP...

    Delphi使用OLE对象读入Excel XLS文件

    摘要:Delphi源码,文件操作,OLE,Excel  一个基于Delphi语言编写的OLE自动化控件器,让Delphi支持打开.xls格式的Excel表格文件,简要概述一下实现步骤:建立OLE对象、使Excel可见,并将本程序最小化,以观察Excel的...

    OLE生成Excel代码实例

    OLE生成Excel代码实例

    读取VB中OLE的EXCEL模版数据

    1. **确保Excel已安装**:使用OLE操作Excel之前,必须确保计算机上已经安装了Excel。 2. **权限问题**:如果程序需要在服务器等受限环境下运行,则可能遇到权限问题。此时,需要适当调整安全设置或使用其他技术(如...

    Perl中使用Win32_OLE模块读写Excel的方法1

    **使用Win32::OLE模块操作Excel的基本步骤** 1. **初始化**: 使用Win32::OLE模块加载Excel应用程序,并创建一个新的Excel实例。 ```perl use Win32::OLE; my $excel = Win32::OLE-&gt;new('Excel.Application', 'Quit'...

    VC ole方式操作excel

    VC通过ole方式操作excel,功能比较齐全。插入图片、数据导入导出、设置背景、 字体、合并单元格、设置边框、对齐方式等。此为exe文件,如果觉得可以,可索取源代码。

    以ole方式读取excel文件

    3. 使用OLE读取Excel文件:要以OLE方式读取Excel文件,首先需要在编程环境中导入相关的库或模块,例如在VBScript、VBA或.NET框架中的`Microsoft.Office.Interop.Excel`。然后,你可以创建一个Excel Application对象...

    SWT EXCEL OLE

    在本例中,我们使用 SWT 通过 OLE 调用 Excel,并对其进行操作。为了实现这个功能,我们需要使用到以下几个关键技术: 1. SWT OLE 集成:SWT 提供了对 OLE 的支持,允许开发者在 SWT 应用程序中嵌入 OLE 对象。在本...

Global site tag (gtag.js) - Google Analytics