VS2008中C++打开Excel(MFC)

VS2008C++打开ExcelMFC)——摘自网络,并加以细化

第一步:建立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”

 1 void CTExcelDlg::OnBnClickedButton1()
 2 {
 3     // TODO: 在此添加控件通知处理程序代码
 4     CApplication objApp; //判断是否存在EXCEL应用程序
 5     CWorkbooks objBooks;
 6     CWorkbook objBook;
 7     CWorksheets objSheets;
 8     CWorksheet objSheet;
 9     CRange objRange,usedRange;//单元格获取
10     VARIANT ret;
11
12     objApp.CreateDispatch(_T("Excel.Application"));//判断是否存在EXCEL应用程序
13     COleVariant VOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
14     objApp.put_Visible(TRUE);
15     objApp.put_UserControl(TRUE);
16     LPDISPATCH pwkbooks=objApp.get_Workbooks();
17     objBooks.AttachDispatch(pwkbooks,TRUE);
18     char currentprogrampath[MAX_PATH];
19     objBooks=objApp.get_Workbooks();
20     objBook=objBooks.Add(VOptional);
21     objSheets=objBook.get_Sheets();
22     CString str;
23
24     str="A1";
25     objSheet=objSheets.get_Item(COleVariant((short)1));
26     objRange=objSheet.get_Range(COleVariant(str),COleVariant(str));
27     objRange=objSheet.get_Range(COleVariant(_T("C4")),COleVariant(_T("B4")));
28     objRange.put_Formula(COleVariant(_T("=RAND()*100000")));
29     objRange.put_NumberFormat(COleVariant(_T("$0.00")));
30     usedRange=objRange.get_EntireColumn();
31     usedRange.AutoFit();
32 }

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

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

最后运行:

   

时间: 2024-10-28 09:03:47

VS2008中C++打开Excel(MFC)的相关文章

C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式

前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要操作的Excel文件,并在后面的textBox中显示出文件路径. 设置单元格按钮,可以根据程序设置Excel文件的内容. 退出程序按钮,关闭窗体. 程序源代码 1 using System; 2 using System.Collections.Generic; 3 using System.Com

vs2008中的MFC用共享DLL和静态中使用MFC,遇到的问题

最近调试一个项目,VS2008的MFC系统,里面用到了很多开源(后面调试问题时以为是开源库的问题,其实没有关系). 问题是这样的,系统在我机器上用vs2008编译好运行正常,然后移到另外一个没有装VS2008的机器上不能运行. 调试过程中的一系列方法: 1.下载VC运行库,安装后,重启,问题依然在. 2.下载VS2008的VC CRT运行时库,安装后,重启,问题依然存在. 3.安装VS2008 ,问题解决> 说明肯定缺少 VS2008中的库. 4.进一步缩小问题原因, 只安装了VS2008安装包

vs2008中使用gdi+的设置

vs2008中使用gdi+ 1.新建一个mfc工程 2.在stdafx.h文件中加入以下几行语句:#include <gdiplus.h>                //#pragma comment(lib, "gdiplus.lib") //在工程属性中添加亦可using namespace Gdiplus;            //使用GDI+的命名空间, 若不用的话每次使用Gdiplus时均加上命名空间亦可 3.修改App类在App类(以下例子中为CTestA

C#中自定义消息,与MFc对比

在C#中采用的是事件驱动方式,但在我们使用的过程中,有时候通过调用系统原有的消息,处理起来会比较简单一些,特别是在处理与DLL文件的交互时,的确是非常的方便.    在C#中使用自定义消息      在C#中使用自定义消息非常简单,只需要下面几个简单的步骤就可以了: 1.  定义消息 定义消息的方法和VC中定义消息有一点点不同 比如在VC中申明一个自定义消息: #define WM_TEST WM_USER + 101 而在c#中消息需要定义成windows系统中的原始的16进制数字,比如自定义

Java中导入导出Excel -- POI技术

一.介绍: 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel 下面我就分别讲解一下如何使用这两个技术实现导入.导出Excel 二.使用Jakarta POI导入.导出Excel Jakarta PO

清除vs2005、vs2008起始页最近打开项目

有时候vs2005起始最近打开项目过多很想清除掉,但打遍了也没找到清除选项在哪里,今天找到了方法,发上来和大家共享.方法一手工操作方法:1)删除最近打开的文件运行regedit,打开HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\FileMRUList 之后,在右边删除相应键值就可以了.2)删除最近打开的项目操作同上,只是键值位置不同HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.

在VS2008中配置WDK7600驱动开发环境

网上这类资料多如牛毛,也许很多人都是转来转去,却很有人去真正的测试,有时候感觉确实对他人也是一种误导. 这里是我自己在VS2008 + WDK7600.16385.0 + DDKWizard配置自己的IDE开发环境的设置过程: 1.首先安装DDKWizard 官方网页:http://ddkwizard.assarbad.net/ 从官方网页下载这三个重要的文件:DDKBUILD.BAT . DDKBUILD.CMD .DDKWIZARD_SETUP.EXE 在WDK7600安装目录新建一个bat

excel中vba将excel中数字和图表输出到word中

参考:https://wenku.baidu.com/view/6c60420ecc175527072208af.html 比如将选区变为图片保存到桌面: 1 Sub 将选区转为图片存到桌面() 2 Dim ans As Byte, Pic As String, Paths As String 3 On Error Resume Next 4 Paths = CreateObject("WScript.Shell").SpecialFolders("Desktop"

Outlook不能预览和打开Excel文件:

无法打开Outlook邮箱中的Excel附件,确实让人恼火 先不要着急: 1.在开始->运行,输入"regedit" 2.找到路径:HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security 3.双击”OutlookSecureTempFolder“ 文件,把里面的值复制到新建txt文档中,以防把注册表弄坏 4.把里面的值替换为:C:\temp0\ 5.退出注册表编辑器. 通过上述设置可以在outlook里正