用OLE操作Excel.pdf

上传人:索**** 文档编号:76277178 上传时间:2023-03-08 格式:PDF 页数:5 大小:56.63KB
返回 下载 相关 举报
用OLE操作Excel.pdf_第1页
第1页 / 共5页
用OLE操作Excel.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《用OLE操作Excel.pdf》由会员分享,可在线阅读,更多相关《用OLE操作Excel.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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),然

2、后添一个表单并命名为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!;/文件路径

3、和保存名称AnsiString filename=GetCurrentDir()test.xls;/判断文件是否存在if(FileExists(filename)/询问是否删除if(MessageDlg(文件已经存在,是否删除?,mtWarning,TMsgDlgButtons()mbOKmbCancel,0)=mrOk)DeleteFile(filename);else ShowMessage(放弃操作);return;/建立 excel连接Axl=Variant:CreateObject(Excel.Application);Axl.OPS(Visible,false);Workbook=

4、Axl.OPG(Workbooks);/创建一个新的excel工作本(文件)Workbook.Exec(PR(Add);Workbook=Axl.OPG(ActiveWorkbook);/本文转自C Builder研究-http:/ 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=Workbo

5、ok.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.

6、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);/结束,如果没

7、有如下代码,EXCEL 线程直到应用程序退出才结束。Axl=Unassigned;Workbook=Unassigned;AxSheet=Unassigned;bef=Unassigned;aft=Unassigned;nms=Unassigned;ShowMessage(Well Done boy!);我也曾经在CSDN 上写过 BCB 调用 EXCEL 的文章。思想和站长的用OLE 操作 Excel(C Builder版)如出一辙。如果我们用2K 的操作系统,可以发现如果只是用ExcelApp.PR(Quit)后,Excel 线程还在,这样,如果应用程序不退出,被调用的 EXCEL 文件就

8、无法在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 添加变量:V

9、ariant 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()mbOKmbCancel,0)=mrOk)DeleteFile(f

10、ilename);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);/本文转自C Builder研究-http:/ count=Workbook.OPG(sheets).OPG(count);ShowMessage(IntToSt

11、r(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();/以上两种方

12、式都可以/选择第一张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);/保存文件

13、,两种方式都可以/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(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE 操作Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE操作 Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)用 OLE 操作 Excel(Wangda补充)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁