MFC 创建和操作Excel2007 文件

本文档介绍了如何使用MFC在VS2005、VS2008和VS2010中创建和操作Excel2007文件,包括自动换行、换列、写入实数、复数和字符串等功能,并提供了相关函数的实现及测试案例。
摘要由CSDN通过智能技术生成

目标:
生成一个excel文件,该文件可以使用office2007打开,也可以使用office2003打开,而不弹出提示;

实现数据写入自动换行,换列的操作;

实现写入实数、复数、字符串的操作;

实现在指定位置,指定范围写入的操作。

该程序在VS2005,VS2008,VS2010测试通过!

步骤:

我们首先建立一个基于对话框的MFC程序,我将程序名命名为:GenenalCreateExcelFileDlg。然后打开界面,拖拽如图所示的四个static控件以及四个button控件。将界面更名为:“Excel测试程序”。其他界面的细节略过。

第一步:导入需要的库文件;

打开类向导,选择“类型库中的MFC类”如图:

接着我们在打开的对话框中选择源:注册表,类型库为:Excel 12.0。选择的库文件如图所示

第二步:修改库文件中的部分语句,否则编译后讲弹出大量bug;

上述步骤完成后,编译一下发现很多bug,此时,注释掉,步骤一中添加的库文件的#import语句:“//#import "E:\\Program Files\\Office2007\\Office12\\EXCEL.EXE" no_namespace”,同时,将这些库文件中“DialogBox()”更改为“_DialogBox()”,以防止重名冲突。

第三步:设计思路:excel2003 的行共有:256列,65536行,2007 更是有:1048576行、16384列;我们需要往不同的行不同的列写入数据,手动指定的话,谁也受不了,但是,excel列的排序符合26进制,因此,一个小小的函数,就可以让输入换列,而行的规律就是简单的十进制,指定了列的话往该列的不同行写不是问题。因此程序中有一个inline函数。再者,生成excel一般的思维就是:生成一个空白文件,往该文件中写入不同的数据,然后保存到指定位置即可。程序中实现这些函数即可。

第四步:设计相关函数:

首先添加一个操作excel的类:CMyExcel。其头文件如下:

#include "CApplication.h"
#include "CRange.h"
#include "CWorkbook.h"
#include "CWorksheet.h"
#include "CWorkbooks.h"
#include "CWorksheets.h"
#include <string>
using namespace std;
class CMyExcel
{
private:
	//标记Excel对象的变量
	CApplication m_app;	
	CWorkbooks m_books;	
	CWorkbook m_book;
	CWorksheets m_sheets;	
	//标记excel中当前写入的标签页
	CWorksheet m_sheet;	
	CRange m_range;		//标记写入的范围
	COleVariant m_covTrue,m_covFalse,m_coverOptional,m_filePath;	 
	long m_rowCount;	//标记Excel当前写入的列数
	long m_sheetCount;	//标记Excel使用了多少标签页的变量
	long m_totalRow;	//标记Excel总列数的变量
	long m_totalCol;	//标记Excel总行数的变量
	char *m_colPst;		//一个含有A-Z的数组

	//列计数器
	long m_matricImag
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值