MFC 创建和操作Excel2007 文件

目标:
生成一个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
  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
MFC是Microsoft基于C++的编程框架,用于开发Windows平台的应用程序。Excel是微软的一款电子表格软件。在MFC中,我们可以使用COM技术来创建操作Excel文档。 首先,我们需要在MFC应用程序中添加对Excel的引用。可以在解决方案资源管理器的项目中,右键单击项目,选择“添加”>“引用”>“COM”选项卡,然后找到并勾选“Microsoft Excel xx.x Object库”(其中xx.x表示Excel的版本号),点击“确定”按钮完成引用添加。 接下来,我们需要在程序中包含Excel的头文件。在需要使用Excel功能的代码文件中,添加以下代码: ``` #include <afxdisp.h> ``` 接下来,我们可以通过MFC和COM技术创建Excel应用程序对象,并打开一个Excel文件。代码如下: ``` CApplication excel; if (excel.CreateDispatch(_T("Excel.Application"))) { excel.Visible = TRUE; Workbooks books = excel.Workbooks; _Workbook book = books.Open(_T("D:\\test.xlsx")); // 在这里可以进行Excel操作 book.Close(); excel.Quit(); } ``` 在这段代码中,我们首先创建了一个CApplication对象excel,然后使用CreateDispatch方法来创建excel应用程序对象。接下来,我们设置excel.Visible为TRUE,使其可见。然后使用Workbooks对象打开一个Excel文件。在打开文件后,我们可以进行一系列的操作,例如读取和写入数据、添加图表等。最后,我们使用book.Close()方法关闭文件并使用excel.Quit()方法退出Excel应用程序。 总结起来,通过MFC和COM技术可以方便地进行Excel创建操作。我们可以使用MFC提供的接口和COM技术,完成各种操作,从而实现自己的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值