- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MF操作EXCEL
使用MFC操作EXCEL文件
(已实现,见[杂, TestExcel])
?第一步:建立一个自动化工程
1.???启动VC 6.0,打开新建对话框,新建一个MFC AppWizard(exe)工程,这里工程名设置为TestExcel。
2.???进入MFC 应用程序向导,选择 基本对话框,直接点击完成。
3.???{导入EXCEL类型库} 打开MFC ClassWizard窗口(查看—建立类向导),选择Automation,单击Add Class按钮,选择From a type library...,弹出文件选择对话框,之后定位到Microsoft Office的安装目录(office2003为C:\Program Files\Microsoft Office\OFFICE11),选择EXCEL.EXE,确定后,弹出Confirm Classes窗口,选择列表中的所有类,单击OK按钮。
4.???返回编辑器,查看工程文件,可发现多了EXCEL.H及EXCEL.CPP两个文件。
5.???打开stdafx.h头文件确保包含如下头文件:
#include afxdisp.h
#include excel.h
如果没有,就手动添加。
6.???打开TestExcel.cpp文件,修改CTestExcelApp::InitInstance(),加入如下代码:
BOOL CTestExcelApp::InitInstance()
{
?????if( !AfxOleInit() )
{
??????????AfxMessageBox(初始化Ole出错!);
??????????return FALSE;
??? ??}
?????AfxEnableControlContainer();
????......
????......
?????return FALSE;
}
为保证编译时不产生重复定义错误,打开excel.h文件,在文件开始位置加入如下代码:
#if !defined _HEAD_FILE_EXCEL_
#define _HEAD_FILE_EXCEL_
?相应的,在文件末尾加入:
#endif
到此,OLE自动化工程建立完成。按下F7,看是否能通过编译(好像通不过,但没关系)。
?
第二步:操作EXCEL文件
1.????选择ResourceView工作区,打开IDD_TESTEXCEL_DIALOG,在对话框中添加一个按钮控件Button1,双击它,生成一个Button1 Click事件的处理函数:
void CTestExcelDlg::OnButton1(){?// TODO: Add your control notification handler code here}
2.???在OnButton1()函数中,添加代码:
void CTestExcelDlg::OnButton1(){?// TODO: Add your control notification handler code here?_Application app;?Workbooks books;?_Workbook book;?Worksheets sheets;?_Worksheet sheet;?Range range;?Font font;?Range cols;?COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);?if( !app.CreateDispatch(Excel.Application) )
{??this-MessageBox(无法创建Excel应用!);??return;?}?books=app.GetWorkbooks();?book=books.Add(covOptional);?sheets=book.GetSheets();?sheet=sheets.GetItem(COleVariant((short)1));?range=sheet.GetRange(COleVariant(A1),COleVariant(A1));?range.SetValue(COleVariant(HELLO EXCEL!));?font=range.GetFont();?font.SetBold(COleVariant((short)TRUE));?range=sheet.GetRange(COleVariant(A2),COleVariant(A2));?range.SetFormula(COleVariant(=RAND()*100000));?range.SetNumberFormat(COle
您可能关注的文档
- 2生物质汽柴油研究报告(电子版).doc
- 2第二十三章相似形.doc
- 300MW机组集控运行汽机题库(简答).doc
- 33KV英飞凌IGBT驱动设计.docx
- 329第二章运动和力作业一.doc
- 3110100122_邵建智_冷等离子体处理对种子含水率的影响.doc
- 36㎡烧结机设计方案.doc
- 350MW汽轮机整套启动调试措施.doc
- 3MW背压机启动调试方案.doc
- 41数据的离散程度(第1课时)教学设计.doc
- 最新汽车修理工(初级)资格考试题库带答案(培优B卷).docx
- 最新汽车修理工(初级)资格考试精选题库附解析答案.docx
- 最新汽车修理工(初级)资格考试题库【综合卷】.docx
- 最新汽车修理工(初级)资格考试通用题库附答案(轻巧夺冠).docx
- 最新汽车修理工(初级)资格考试真题及参考答案(基础题).docx
- 最新汽车修理工(初级)资格考试王牌题库附参考答案(达标题).docx
- 最新汽车修理工(初级)资格考试通用题库含答案【综合题】.docx
- 最新汽车维修工(考评员、高级考评员) 练习题精选题库【典优】.docx
- 最新汽车维修工(考评员、高级考评员) 练习题通用题库含答案AB卷.docx
- 最新汽车修理工(初级)资格考试真题题库及答案(基础+提升).docx
文档评论(0)