使用MFC的操作EXCEL文件.docxVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用MFC操作EXCEL文件 分类:EXCEL2012-09-03 09:307318人阅读评论(5)收藏举报excelmfcbooks工作applicationoffice一、加载1、在VC6.0里创建一个MFC工程2、打开MFCClassWizard窗口(查看—建立类向导),选择Automation,单击AddClass按钮,选择Froma type library...,弹出文件选择对话框,之后定位到C:\Program Files\MicrosoftOffice\OFFICE11\EXCEL.EXE,在生成类中添加所有的对象(其实添加需要的即可,为了简便,不出错保留了冗余),如下图。??3、返回编辑器,查看工程文件,可发现多了EXCEL.9H及EXCEL9.CPP两个文件,拷贝出来,放在VS2005需要使用excel的工程文件中。4. 打开stdafx.h头文件确保包含如下头文件:#include afxdisp.h(这个一般有了)#include excel.h (手动添加这个即可)5. 打开TestExcel.cpp文件,修改CTestExcelApp::InitInstance(),加入如下代码:if(!AfxOleInit() ){AfxMessageBox(初始化Ole出错!);return FALSE;}为保证编译时不产生重复定义错误(可以验证一下是否成功加载,没有也能正常执行),我编译时出现了很多“类重复定义”异常,打开excel.h文件,在文件开始位置加入如下代码:#if !defined _HEAD_FILE_EXCEL9_#define _HEAD_FILE_EXCEL9_相应的,在文件末尾加入:#endif成功Excel接口导入类头文件说明_ApplicationCApplicatonApplication.hExcel应用程序。WorkbooksCWorkbooksWorkbooks.h工作簿的容器,里面包括了Excel应用程序打开的所有工作簿。_WorkbookCWorkbookWorkbook.h单个工作簿。WorksheetsCWorksheetsWorksheets.h单个工作簿中的Sheet表格的容器,包括该工作簿中的所有Sheet。_WorksheetCWorksheetWorksheet.h单个Sheet表格。RangeCRangeRange.h一定数量的单元格,可对单元格进行单个或多个单元格进行操作。在MSDN中,很少有excel方面的资料,但是在/zh-cn/ms348103.aspx中可以找到C#控制EXCEL方面的说明?二、操作EXCEL文件1. 新建一个excel表,并填充两个单元格的实例[cpp]view plaincopyprint?void?CTestExcelDlg::OnButton1()??{??//Workbooks—Workbook?—Worksheets—Worksheet?—Range??_Application?app;???????//Excel应用程序接口??Workbooks?books;????????//工作薄集合??_Workbook?book;?????//工作薄??Worksheets?sheets;??????//工作表集合??_Worksheet?sheet;???????//工作表??Range?range;????????????//Excel中针对单元格的操作都应先获取其对应的Range对象??Font?font;??Range?cols;??/*?COleVariant类为VARIANT数据类型的包装,在自动化程序中,通常都使用?VARIANT数据类型进行参数传递。故下列程序中,函数参数都是通过COleVariant?类来转换了的。?*/??//covOptional?可选参数的VARIANT类型??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));??//选择工作表中A1:A1单元格区域??range=sheet.GetRang

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档