MFC向Excel读写数据详细方法.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC向Excel读写数据详细方法课案

MFC读写Excel详细步骤 准备工作: 打开开发环境VC或VS新建一个基于对话框的简单工程; 通过类向导添加类--类型库中的MFC类 打开创建类对话框 选择文件,位置编辑框填入Excel.exe的详细目录,可以通过浏览选择,在接口下方选择_Application(应用), _Workbook(视窗),Workbooks(整个视窗),Worksheets(单个表单),Worksheets(整个表单),Range(元素集合)六个基本的接口并生成类。选择接口后单击向右的单箭头即可,双箭头是生成所有接口的类; 生成类之后将添加的几个类的头文件中的 #import E:\\Microsoft Office\\Office14\\EXCEL.EXE no_namespace 注释掉,加上#includeafxdisp.h。 然后编译,出现下面这俩个错误;点击DialodBoxA找到错误位置将DialodBox改为_DialodBox;再编译,没有错误; warning C4003: “DialogBoxA”宏的实参不足 error C2059: 语法错误:“,” 在要操作Excel类的CPP文件中包含头文件: 准备工作完成。 向Excel写数据: CFileDialog dlg(FALSE, .xlsx,NULL, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,Microsoft Excel Files(*.xls)|*.xls|Microsoft Excel Files(*.xlsx)(推荐)|*.xlsx|All Files (*.*)|*.*||); dlg.m_ofn.lpstrTitle =保存到Excel; if (dlg.DoModal() == IDOK) { //获取路径 CString strFileName=dlg.GetPathName(); CWorkbooks books; CWorkbook book; CApplication app; CWorksheets sheets; CWorksheet sheet; CRange range; CMyFont font; CRange cols; COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); if (!app.CreateDispatch(Excel.Application)) { this-MessageBox(无法创建Excel应用!); return; } books=app.get_Workbooks(); book=books.Add(covOptional); sheets=book.get_Worksheets(); sheet=sheets.get_Item(COleVariant((short)1)); //获得(A,1)(B,1)两个单元格 range=sheet.get_Range(COleVariant(A1),COleVariant(B6)); //设置公式“=RAND()*100000” range.put_Formula(COleVariant(=RAND()*1000)); //选择整列,并设置宽度为自适应 cols = range.get_EntireColumn(); cols.AutoFit(); //设置字体为粗体 font = range.get_Font(); font.put_Bold(COleVariant((short)TRUE)); //设置数字格式为货币型 //range.put_NumberFormat(COleVariant($0.00)); CString Range327[]={C1,C2,C3,C4,C5,C6}; CString fileinfo[]={齿形,齿向,齿距,左齿面,右齿面,径跳}; for(int i=0;i6;i++) { range = sheet.get_Range(COleVariant(Range327[i]), COleVariant(Range327[i])); range.put_Value2(COleVariant(fileinfo[i])); } /* //获得坐标为(C,2)单元格 //显示

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档