第一步:建立project

选择C++下的MFC Application

选择dialog based,中文。之后点击finish

第二步:导入EXCEL头文件

选择Project->AddClass->MFC Class From Typelib后,点击Add,进入MFC ClassFrom Typelib Wizard对话框下,选择Microsoft Excel 11.0 Object Library<1.5>(我用的是Microsoft Office2003)将上图中Class添加进来。点击finish

并在TExcel.cpp开始添加:

#include"CRange.h"

#include"CSheets.h"

#include"CWorkbook.h"

#include"CWorkbooks.h"

#include"CApplication.h"

#include"CWorksheet.h"

#include"CWorksheets.h"

在每一个添加进来的头文件中去掉

#import "C:\\Program Files\\MicrosoftOffice\\OFFICE11\\EXCEL.EXE" no_namespace

第三步:打开COM口

添加AfxOleInit();

第四步:建一个Button按钮

选择Toolbox中的Button在TExcel.rc的IDD_TEXCEL_DIALOG中点击,建立如上图的Button按钮将属性中的Caption修改为“打开Excel”

第五步:为Button按钮编写程序

双击“打开Excel”

在// TODO: Add your controlnotification handler code here后添加如下程序:

CApplication objApp;//判断是否存在EXCEL应用程序

CWorkbooksobjBooks;

CWorkbookobjBook;

CWorksheetsobjSheets;

CWorksheetobjSheet;

CRangeobjRange,usedRange;//单元格获取

VARIANTret;

objApp.CreateDispatch(_T("Excel.Application"));//判断是否存在EXCEL应用程序

COleVariantVOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);

objApp.put_Visible(TRUE);

objApp.put_UserControl(TRUE);

LPDISPATCHpwkbooks=objApp.get_Workbooks();

objBooks.AttachDispatch(pwkbooks,TRUE);

charcurrentprogrampath[MAX_PATH];

objBooks=objApp.get_Workbooks();

objBook=objBooks.Add(VOptional);

objSheets=objBook.get_Sheets();

CStringstr;

str="A1";

objSheet=objSheets.get_Item(COleVariant((short)1));

objRange=objSheet.get_Range(COleVariant(str),COleVariant(str));

objRange=objSheet.get_Range(COleVariant(_T("C4")),COleVariant(_T("B4")));

objRange.put_Formula(COleVariant(_T("=RAND()*100000")));

objRange.put_NumberFormat(COleVariant(_T("$0.00")));

usedRange=objRange.get_EntireColumn();

usedRange.AutoFit();

第六步:避免Error     2     error C2059: syntax error : ','

将CRange.h下VARIANT DialogBox()改为VARIANT _DialogBox()

最后运行:


VS2008中C++打开Excel(MFC)相关推荐

  1. 如何让不使用vba没办法打开excel表_Excel常见问题

    更多Excel的问题,可以直接打开正解网(http://www.zhengjie.com/)搜索及提问. 手机微信扫码打开小程序,使用更方便: 正解网微信小程序 Excel 的单元格如何换行? Exc ...

  2. VB打开Excel文件

    (1)vb打开Excel 用EXCEL对象读取EXCEL文件中数据.然后通过ADODB连接SQL进和导入     下面是EXCEL对象的详解 1 前言 做为一种简捷.系统的 Windows应用程序开发 ...

  3. Qt中打开excel文件

    qt中打开excel文件有两种方法 第一种,用QAxObject,在使用QAxObject,要在.pro文件中添加QT += axcontainer,同时在调用文件中添加#include <QA ...

  4. python打开excel的函数-Python读取excel文件中带公式的值的实现

    在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值 但是用之前的读取方法进行读取的时候,返回值为空 import os import xlrd from xlutils.copy ...

  5. MFC 多文档中同时打开多个文档

    MFC多文档中的打开继承自CWinAppEx中的函数OnFileOpen(),这一点在CXXX.cpp中可以看到.比如如下: [cpp] view plain copy // CCVMFCApp BE ...

  6. 15、解决14中csv用excel打开乱码的问题 open('zhihu.csv','w',newline='',encoding='utf-8-sig')...

    解决14中csv用excel打开乱码的问题 ,其实就是在写csv的时候把 utf-8 改成 utf-8-sig open('zhihu.csv','w',newline='',encoding='ut ...

  7. VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件

    VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件 参考文章: (1)VS2008 在IE8中 调试 Acti ...

  8. 计算机中丢失vba,打开Excel的时候提示visual basic项目错误导致VBA模块代码丢失

    有的时候,每当我们打开有VBA代码的Excel文件时,会看到提示,大概意思就是说"丢失了visual basic项目错误"的提示.结果,只能有只读的方式打开Excel.最后,Exc ...

  9. 硬盘在计算机上没显示内存不足,电脑中打开excel表格提示内存或磁盘空间不足如何解决...

    excel是很多用户日常办公或者学习的时候经常会用到的表格软件,不过近日有不少用户在电脑中打开excel表格的时候,却弹出窗口,显示内存或磁盘不足,Microsoft Excel无法再次打开或保存任何 ...

最新文章

  1. 特斯拉AI主管给你的33条深度学习训练建议
  2. decimal类型保留两位小数
  3. 新手小白零基础搭建个人博客(一)服务器篇
  4. python sql注入漏洞 ctf_CTF-WEB 一个登录框SQL盲注
  5. Php xml 目录,PHP-PHP+xml的无限分类树目录的方法?
  6. Give Candies【快速幂+欧拉】
  7. springmvc是什么_SpringBoot与SpringMVC的区别是什么?
  8. numpy python 兼容_Python 2和3之间的numpy数组的不兼容性
  9. 【十万个编程篇】Linux—Debian系列,deb包首次分析
  10. 国家邮政局:前10月邮政行业业务收入同比增长17.8%
  11. wpf 怎样判断是否选中 checkbox_怎样判断一个人是否缺爱?
  12. Windows平台安装cocos2d-x V3.17.2
  13. JavaScript留言板效果代码实例
  14. 一阶微分方程的物理意义_薛定谔方程的物理意义
  15. 使用Apache Tika实现内容分析
  16. 《“笨办法” 学C语言(Learn C The Hard Way)》
  17. Vben Admin 安装依赖l 安装报错:Error: command failed: c: \WINDOWS\system32\cmd.exe /s /c autoreconf -ify 解决办法
  18. 解决window7中浏览器无法上网问题
  19. Jenkins GSoC 2020 机器学习插件项目
  20. 什么是Hash哈希(散列表)

热门文章

  1. 交换两个变量的值,不使用第三个变量的四种法方法
  2. 升级浏览器_升级Unity 8,优化系统组件,添加键盘手势,升级浏览器,UbuntuTouch最大的一次更新
  3. vb隐藏指定程序系统托盘图标_Windows环境设置系统托盘图标默认显示
  4. 3d模型多怎么优化_3D打印人像模型是怎么制作出来的呢?
  5. linux文件被覆盖如何恢复_在Linux下误删文件后恢复
  6. python pytest框架
  7. dom4j工具类_基于DOM4J的XML文件解析类
  8. fpga如何约束走线_FPGA设计约束技巧之XDC约束之I/O篇 (上)
  9. java 避免重定向_java重定向与转发的问题
  10. android 自动截图分享,Android截图和分享