【当前博文转载自http://www.byywee.com/page/M0/S599/599654.html】
VS2010 C++ 操纵Excel表格的编程实现
经由过程VC实现对Excel表格的操纵的办法有多种,如:经由过程ODBC数据库实现,经由过程解析Excel表格文件,经由过程OLE/COM的实现。本文首要研究经由过程OLE/COM实现对Excel表格的操纵。
本文源码的应用景象申明:
Windows XP SP3
Microsoft Visual Studio 2010
Microsoft Office Excel 2007
1、添加OLE/COM支撑。
起首,应用法度必须添加对OLE/COM的支撑,才干导入OLE/COM组件。
本文应用的是MFC对话框法度,在创建工程的领导中选中Automation选项即可为法度主动添加响应的头文件和OLE库初始化代码。
经由过程查看源代码,可以知道在stdafx.h的头文件中,添加了OLE/COM很多类所需添加的头文件。
#include
同时,在应用法度类的InitInstance函数中,添加了OLE/COM的初始化代码,如下所示:
// 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
2、导入并封装Excel中的接口
Excel作为OLE/COM库插件,定义好了各类交互的接口,这些接口是跨说话的接口。VC可以经由过程导入这些接口,并经由过程接口来对Excel的操纵。
因为本文只关怀对Excel表格中的数据的读取,首要存眷几个_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range等几个接口。Excel的各类接口的属性、办法可以经由过程MSDN的Office Development进行查询。
VS2010导入OLE/COM组件的接口的步调为:Project->Class Wizard->Add Class->MFC Class From TypeLib,先选择要导入的组件地点的路径,即Excel.exe地点的路径,然后再选择要导入的Excel类型库中的接口。
在完成接口导入后,VS2010将主动为导入的接口创建响应的实现类,用于对接口属性和办法的实现。因为标准的C++没有属性接见器,只能添加一个两个存取函数来实现对属性的接见,经由过程在属性名称前加上get_和put_前缀分别实现对属性的读写操纵。即,由VC主动完成C++类对接口的封装。
文所导入的接口对应的类和头文件的申明如下所示:
|
导入类 | |
|
_Application | CApplicaton |
Application.h | Ex |