VS2008中C++打开Excel(MFC)
VS2008中C++打开Excel(MFC)——摘自网络,并加以细化
第一步:建立project(新建项目)

英文版

中文版
选择C++下的MFC Application(基于对话框的项目)

英文版

中文版
选择dialog based(基于对话框),中文。之后点击finish(完成)
第二步:导入EXCEL头文件

英文版

中文版-新建类

中文版-新建TypeLib中的MFC类

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

并在TExcel.cpp开始添加:
#include"CApplication.h"
#include"CRange.h"
#include"CSheets.h"
#include"CWorkbook.h"
#include"CWorkbooks.h"
#include"CWorksheet.h"
#include"CWorksheets.h"
在每一个添加进来的头文件中去掉
#import "D:\\Program Files X64\\Microsoft Office\\Office15\\EXCEL.EXE" no_namespace
第三步:打开COM口

添加AfxOleInit();
第四步:建一个Button按钮

选择Toolbox中的Button在TExcel.rc的IDD_TEXCEL_DIALOG中点击,建立如上图的Button按钮将属性中的Caption修改为“打开Excel”
第五步:为Button按钮编写程序
双击“打开Excel”

void CTExcelDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CApplication objApp; //判断是否存在EXCEL应用程序
CWorkbooks objBooks;
CWorkbook objBook;
CWorksheets objSheets;
CWorksheet objSheet;
CRange objRange,usedRange;//单元格获取
VARIANT ret; objApp.CreateDispatch(_T("Excel.Application"));//判断是否存在EXCEL应用程序
COleVariant VOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
objApp.put_Visible(TRUE);
objApp.put_UserControl(TRUE);
LPDISPATCH pwkbooks=objApp.get_Workbooks();
objBooks.AttachDispatch(pwkbooks,TRUE);
char currentprogrampath[MAX_PATH];
objBooks=objApp.get_Workbooks();
objBook=objBooks.Add(VOptional);
objSheets=objBook.get_Sheets();
CString str; str="A1";
objSheet=objSheets.get_Item(COleVariant((short)));
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)的更多相关文章
- VB中后台打开Excel文件实现代码
某些时候需要打开Excel文件来获取或者写入数据,但又不希望跳出打开的Excel文件窗口,可以用下面的代码: Dim eb As New excel.Application, wb as excel. ...
- 如何在单独的窗口中打开 Excel 文件
如何在单独的窗口中打开 Excel 文件 文章编号:087583 2012/11/1 18:45:29 故障现象: 如何在单独的窗口中打开 Excel 文件? 解决方案: 比较安全的方法就是直 ...
- C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式
前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...
- 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 ...
- c#中打开Excel文档
方法一:(调用Excel的COM组件) 在项目中打开Add Reference对话框,选择COM栏,之后在COM列表中找到"Microsoft Excel 11.0 Object ...
- Outlook不能预览和打开Excel文件:
无法打开Outlook邮箱中的Excel附件,确实让人恼火 先不要着急: 1.在开始->运行,输入"regedit" 2.找到路径:HKEY_CURRENT_USER\Sof ...
- C#中datatable导出excel(三种方法)
方法一:(拷贝直接可以使用,适合大批量资料, 上万笔) Microsoft.Office.Interop.Excel.Application appexcel = new Microsoft.Offi ...
- 打开Excel的报错,提示:不能使用对象链接和嵌入
计算机这几天在打开Excel文档的时候,提示:不能使用对象链接和嵌入, 而且出现如下的提示:Microsoft Office Excel进程已停止工作, 每次打开Excel的时候都是同样的问题,害我跟 ...
- VS2008中开发智能设备程序的一些总结
原文链接:http://blog.csdn.net/citybug_nj/article/details/2598705 程序中包括四个部分: 系统配置 这个部分用来配置系统中的相关参数,参数包括数据 ...
随机推荐
- MySQL:浅析 Impossible WHERE noticed after reading const tables
使用 EXPLAIN 执行计划的时候,在 Extra 中偶尔会看到这样的描述: Impossible WHERE noticed after reading const tables 字面上的意思是: ...
- Visual Studio 2013 与 14
Visual Studio 2013 与 14 假设有曾经版本号的 Visual Studio.再想安装 Visual Studio 14 CTP,默认情况下是不行的. 假设一定要装,当然也是能够的. ...
- 邮箱smtpserver及port收集
网易 163邮箱 POP3:pop.126.com SMTP:smtp.126.com SMTPport号:25 126邮箱 POP3:pop.126.com SMTP:smtp.126.co ...
- java,wavToMP3格式转换
这里须要用到一个jar包:jave-1.0.1.jar,下载地址的话自己百度吧. 废话不多说直接贴代码: import it.sauronsoftware.jave.AudioAttributes; ...
- Linux - 进程管理,ps与top
一个运行的程序,可能有多个进程. PID进程ID. UID启动进程的ID. 进程所属组GID. 进程的状态R运行.S睡眠.Z僵尸. 父进程管理子进程,父进程终止的时候子进程也会终止. 常用的组合为: ...
- python时间戳
time.strftime("%Y-%m-%dT%H:%M:%S.000", time.localtime())
- net快速写入/读取大量数据Postgresql
Postgresql快速写入/读取大量数据 http://www.cnblogs.com/podolski/p/7152144.html 环境及测试 使用.net驱动npgsql连接post数据库.配 ...
- 杂项-DB:OLAP(联机分析处理)
ylbtech-杂项-DB:OLAP(联机分析处理) 联机分析处理OLAP是一种软件技术,它使分析人员能够迅速.一致.交互地从各个方面观察信息,以达到深入理解数据的目的.它具有FASMI(Fast A ...
- 对JVM还有什么不懂的?一文章带你深入浅出JVM!
本文跟大家聊聊JVM的内部结构,从组件中的多线程处理,JVM系统线程,局部变量数组等方面进行解析 JVM JVM = 类加载器(classloader) + 执行引擎(execution engine ...
- My first blog for java
我的第一个java程序: package com.hellojava; /** * @author 沽-名-钓-誉 */ public class HelloJava{ /** * @param 输出 ...