手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

vc操作excel:[1]初始化连接、创建和写入

时间:2024-10-13 09:19:50

1、新建MFC工程,工程名为 3 。在选择Fromatypelibrary时,选择Microsoft Office安装目录下的office11文件夹,将文件过滤器改为 所有文件,找到excel.exe文件,确定,按shift添加所有的类。(这里有疑问,可参见我的上一篇经验“vc操作word:[1]初始化连接、创建和写入。按:本来想写成系列经验的,奈何百度经验这几天出问题了)

vc操作excel:[1]初始化连接、创建和写入
vc操作excel:[1]初始化连接、创建和写入

2、先初始化COM库,在CMy3App类的InitInstance函数中,加入以下代码:if(CoInitialize(NULL)!=S_OK) { AfxMessageBox("Fail"); return FALSE; }

vc操作excel:[1]初始化连接、创建和写入

3、新建一个类型为Generic Class的类,命名为CMeExcel

vc操作excel:[1]初始化连接、创建和写入

4、在文件视图区打开MeExcel.h文件,如图所示,加入以下代码://头文件#inc盟敢势袂lude"comdef.h"#include"atlbase.h"#include"excel.h"以及//变量申明和函数定义_Application m_exApp; //Application _Workbook m_exBook; //表格,单数 Workbooks m_exBooks; //表格,复数 _Worksheet m_exSheet; //表单 Worksheets m_exSheets; Range m_exRange; //类似于单元格 BOOL CreateApplication(); BOOL CreateWorksheet(); BOOL SetItem();

vc操作excel:[1]初始化连接、创建和写入

5、打开MeExcel.cpp文件,如图加入以下代码:BOOL CMeExcel::CreateWorksheet(){ m_exBooks.AttachDispatch(m_髫潋啜缅exApp.GetWorkbooks()); m_exBook.AttachDispatch(m_exBooks.Add(_variant_t(""))); m_exSheets.AttachDispatch(m_exBook.GetWorksheets()); m_exSheet.AttachDispatch(m_exSheets.GetItem(_variant_t("sheet1"))); return TRUE;}BOOL CMeExcel::SetItem(){ m_exRange.AttachDispatch(m_exSheet.GetCells()); m_exRange.SetItem(_variant_t((long)6),_variant_t((long)4),_variant_t("Hello")); return FALSE;}//参照,word文档建立的方法,会对它有更深刻的理解

vc操作excel:[1]初始化连接、创建和写入

6、现在开始调用类函数,创建excel表格,并写入数据。只需在对话框中添加成员变量 CMeExcel m_meExcel,在对话框初始化函数中加入以下代码: m_meExcel.CreateApplication(); m_meExcel.CreateWorksheet(); m_meExcel.SetItem();

vc操作excel:[1]初始化连接、创建和写入
vc操作excel:[1]初始化连接、创建和写入

7、点击运行。在第三行第五列显示”Hello“。也就是运行m_meExcel.SetItem();函数的结果。

vc操作excel:[1]初始化连接、创建和写入

8、补充:在第一次编译运行的时候,出现...\v罕铞泱殳c98\atl\include\atlbase.h(4497像粜杵泳) : error C2660: 'VarCmp' : function does not take 3 parameters的错误,打开atlbase.h文件,果断看不懂,按字面意思的理解,VarCmp函数不带3个参数。在网上找资料,彻底被误导了。打开MSDN,查找VarCmp,好吧,我承认技术不行看不懂,但是它说,总共有4个参数,当最后一个参数为1的时候,Ignore case,忽视的情况,不管,直接传个 1 进去。编译成功!

vc操作excel:[1]初始化连接、创建和写入
vc操作excel:[1]初始化连接、创建和写入
© 手抄报圈