文档详情

vc对Excel表的操作.docx

发布:2017-12-18约6.37千字共6页下载文档
文本预览下载声明
所有资料来源于网络利用VC操作Excel的方法至少有两种1 .利用ODBC把Excel文件当成数据库文件,来进行读、写、修改等操作,网上有人编写了CSpreadSheet类,提供支持。2. 利用Automation(OLD Automation)方法。将Excel当成组件服务器,利用VBA。又分为基于MFC的和SDK两种。 主要研究了一下第二种基于MFC的OLE编程方法。一、Excel的对象模型 在对Excel编程之前首先要了解微软Excel 对象(Object)模型。(Parent-Child关系) ? 图 1 Office 应用程序对象模型(Excel)From msdn 其中: Application:代表应用程序本身。即Excel应用程序 Workbooks:是Workbook 的集合,代表了工作薄。 Worksheets:是Worksheet的集合,是Workbook的子对象。 Range:是Worksheet的子对象,可以理解为Sheet中一定范围的单元格。 Shapes:是Worksheet的子对象,用于存储图片等信息的单元格。二、VC操作Excel的初始化过程?1、导入Excel库文件。 首先打开Class Wizard,点击Add class按钮下的From a type Library导入 office安装目录下的excel.exe(适用于 Excel2003),然后选择需要用的一些类,比如_Application, _Workbook, Workbooks,??? Worksheets,_Wroksheet,Range,Shapes等。点击确定后,系统会在你的程序目录下生成excel.h和excel.cpp两个文件,在要使用这些导入的类时加入#include Excel.h即可。 2、初始化Application。 首先, 初始化COM组件view plaincopy to clipboardprint?if(!AfxOleInit()){ AfxMessageBox(无法初始化COM的动态连接库); return FALSE;}? if(!AfxOleInit()){ AfxMessageBox(无法初始化COM的动态连接库); return FALSE;}? 然后,创建Excel 服务器(启动Excel) 定义app的全局或成员变量 _Application app;view plaincopy to clipboardprint?if (!app.CreateDispatch(Excel.Application)){ AfxMessageBox(无法启动Excel服务器); return FALSE;}? if (!app.CreateDispatch(Excel.Application)){ AfxMessageBox(无法启动Excel服务器); return FALSE;}?3、设置Excel的状态view plaincopy to clipboardprint?app.SetVisible(bVisble); // 使Excel可见 app.SetUserControl(bControl); // 允许其他用户控制Excel? app.SetVisible(bVisble); // 使Excel可见app.SetUserControl(bControl); // 允许其他用户控制Excel 三、VC对Excel的操作 定义变量 view plaincopy to clipboardprint?Workbooks? books;_Workbook? book;Worksheets? sheets;_Worksheet? sheet;LPDISPATCH? lpDisp;Range?? range;COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);? Workbooks? books; _Workbook? book; Worksheets? sheets; _Worksheet? sheet; LPDISPATCH? lpDisp; Range?? range; COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); 1、打开已有的Excel文件 view plaincopy to clipboardprint? books.AttachDispatch(app.GetWorkbooks()); // 或者也可以 // books = app.GetWorkbooks(); lpDisp = books.Open(D:\\\\1.xls, c
显示全部
相似文档