77范文网 - 专业文章范例文档资料分享平台

MFC向Excel读写数据详细方法

来源:网络收集 时间:2019-04-13 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

MFC读写Excel详细步骤

准备工作:

打开开发环境VC或VS新建一个基于对话框的简单工程; 通过类向导添加类-->类型库中的MFC类

打开创建类对话框

选择文件,位置编辑框填入Excel.exe的详细目录,可以通过浏览选择,在接口下方选择_Application(应用),_Workbook(视窗),Workbooks(整个视窗),Worksheets(单个表单),Worksheets(整个表单),Range(元素集合)六个基本的接口并生成类。选择接口后单击向右的单箭头即可,双箭头是生成所有接口的类; 生成类之后将添加的几个类的头文件中的

#import \注释掉,加上#include。

然后编译,出现下面这俩个错误;点击DialodBoxA找到错误位置将DialodBox改为_DialodBox;再编译,没有错误; warning C4003: “DialogBoxA”宏的实参不足 error C2059: 语法错误:“,”

在要操作Excel类的CPP文件中包含头文件:

准备工作完成。 向Excel写数据:

CFileDialogdlg(FALSE, \,NULL,

OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,\

Files(*.xls)|*.xls|Microsoft Excel Files(*.xlsx)(推荐)|*.xlsx|All Files (*.*)|*.*||\);

CRange range; CMyFont font; CRange cols;

COleVariantcovOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); if (!app.CreateDispatch(\)) { }

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(\),COleVariant(\)); //设置公式“=RAND()*100000”

range.put_Formula(COleVariant(\));

this->MessageBox(\无法创建Excel应用!\); return;

dlg.m_ofn.lpstrTitle =\保存到Excel\; if (dlg.DoModal() == IDOK) {

//获取路径

CStringstrFileName=dlg.GetPathName();

CWorkbooks books; CWorkbook book; CApplication app; CWorksheets sheets; CWorksheet sheet;

//选择整列,并设置宽度为自适应 cols = range.get_EntireColumn(); cols.AutoFit(); //设置字体为粗体

font = range.get_Font();

font.put_Bold(COleVariant((short)TRUE)); //设置数字格式为货币型

//range.put_NumberFormat(COleVariant(\ CString Range327[]={\,\,\,\,\,\};

CStringfileinfo[]={\齿形\,\齿向\,\齿距\,\左齿面\,\右齿面\,\径跳\}; for(int i=0;i<6;i++) { } /*

//获得坐标为(C,2)单元格 //显示Excel表

range = sheet.get_Range(COleVariant(\ //设置单元格内容位Hello Excel

range.put_Value2(COleVariant(\哈尔滨精达测量仪器有限公司\ */

//选择整列,并设置宽度为自适应 cols = range.get_EntireColumn(); cols.AutoFit();

range = sheet.get_Range(COleVariant(Range327[i]), range.put_Value2(COleVariant(fileinfo[i]));

COleVariant(Range327[i]));

//显示列表控件

range.ReleaseDispatch();

font.ReleaseDispatch(); cols.ReleaseDispatch(); sheet.ReleaseDispatch(); sheets.ReleaseDispatch(); book.ReleaseDispatch(); books.ReleaseDispatch();

//以下关闭应用的两条代码结合使用且顺序不能反,否则无法关闭进程 app.Quit();

app.ReleaseDispatch();

book.SaveCopyAs(COleVariant(strFileName)); book.put_Saved(true);

//app.put_Visible(TRUE);

//允许其他用户控制Excel,否则Excel、将一闪而过 //app.put_UserControl(TRUE);

}

读取Excel中的数据:

UpdateData(TRUE); str327=\;

UpdateData(FALSE); CApplication app; CWorkbooks books; CWorkbook book; CWorksheets sheets; CWorksheet sheet; CRange range; CRangeoCurCell;

CString strFileName1;

CFileDialogdlg(TRUE, \,NULL,

OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,\

Files(*.xls)|*.xls|Microsoft Excel Files(*.xlsx)|*.xlsx|All Files (*.*)|*.*||\);

dlg.m_ofn.lpstrTitle = \打开Excel文件\ ; intnRetVal = dlg.DoModal(); if ( nRetVal == IDOK ) {

if (!app.CreateDispatch( _T( \ ), NULL ) ) { }

//设置为显示

app.put_Visible(FALSE);

books.AttachDispatch(app.get_Workbooks(), TRUE ); LPDISPATCHlpDisp = NULL;

COleVariantcovTrue((short)TRUE); COleVariantcovFalse((short)FALSE);

COleVariantcovOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

// 打开文件

CStringstrFilePath=dlg.GetPathName(); strFileName1=strFilePath;

//CStringstrFilePath=\研发人员名单2016.xls\ lpDisp = books.Open( strFilePath,

_variant_t(vtMissing), _variant_t(vtMissing), _variant_t(vtMissing),

::MessageBox( NULL, _T( \创建Excel服务失败!\ ), _T( \错误提示!\ ), MB_OK | return; //exit(1);

MB_ICONERROR);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MFC向Excel读写数据详细方法在线全文阅读。

MFC向Excel读写数据详细方法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/586325.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: