在MFC中如果需要操作Excel,那么必须得导入Excel库,以及做一些相应的准备工作。下面我就把这些准备工作写下来,希望能帮到大家,也为自己以后的使用更方便。
大概需要做的准备有:1、导入Excel库中的类;2、对于导入的类做一些调整;3、初始化COM库
一、导入Excel库中的类
我们在Excel编程时最基本的需要导入6个类,分别为CApplication、CWorkBooks、CWorkBook、CWorkSheet、CWorkSheets、CRange;他们对应的功能大家可以去看看这篇文章《Excel编程之六大类介绍》;
我不太善于讲解,那就给大家贴图吧
1、右击工程,选中添加类,弹出下面的对话框,选中'TypeLib中的MFC类',单击添加进入下一步
2、选中文件,单击图片中标记的按钮,打开选择文件对话框,找到你office的安装文件,并找到Excel.exe文件,单击打开
3、完成上一步后,对话框的数据如下
4、在接口下面选中我们需要添加接口,单击’>'按钮,则在右边‘生成的类'中就会看到相应的类
5、选中完后,正确的数据如下,确定无误后,单击‘完成’按钮VS会自动帮你添加图中的类。
正确完成上面所有的步骤后,操作Excel需要的类就添加完成了。
二、对于导入的类做调整
完成第一大步骤后,VS就自动的帮我们在程序中添加了6个与Excel编程相关的类,但是这些类暂时还不可以用,如果直接编译的话你就会发现程序会报很多的错误,而出错的文件绝大多数都是指向excel.tlh。为了解决这个问题,我们需要对这6个类做个简单的修改。
在6个类的头文件最开始的地方都有一条引入Excel文件的语句,我们把条语句注释掉,由这6个类引起的错误差不多就没有了。引入语句如下
注释6个类的引入语句后,程序可能还会报一个‘DialogA参数不足’的错误,解决的方法是:定位的出错语句,在原有函数DialogBox()前面加一个下划线,使函数名变成_DialogBox();
完成上述更改之后,这6个类一般都可以使用了。
三、初始化COM库
完成上面两个步骤后,我们就可以开始编写对Excel操作的程序了。不过编写程序的第一步就是对COM的初始化。我们需要在对Excel操作之前的地方初始化COM库,一般可以把初始化放在app类的InitInstance函数的最开始处。初始化语句如下:
<span style="font-family:System;"><strong style="font-size:14px;"> </strong><span style="font-size:10px;">if(CoInitialize(NULL)==S_FALSE) { AfxMessageBox("初始化COM支持库失败!"); return FALSE; }</span></span>
完成这三步,环境就搭建好了,大家可以大刀阔斧的开始编写你操作Excel的程序了!!!