MF操作EXCEL.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档