MFC 操作excel

1.新建一个MFC工程,如对话框工程。

2.点击 项目--添加类-- MFC -- TypeLib中的MFC类,点击 "添加"

3.可用的类型裤中,找到 "Microsoft Excel 14.0 Object Library<1.7>" (不同版本的excel不同类型裤),接着添加以下9项:

1>_Application

2>_Chart

3>_Workbook

4>_Worksheet

5>Charts

6>Font

7>Range

8>Workbooks

9>WorkSheets

则会自动生成9个头文件,把头文件添加到 XXXDlg.cpp 中

#include "CApplication.h"

#include "CChart.h"

#include "CCharts.h"

#include "CFont0.h"

#include "CRange.h"

#include "CWorkbook.h"

#include "CWorkbooks.h"

#include "CWorksheet.h"

#include "CWroksheets.h"

尝试重新编译工程,此时弹出一堆的错误。

将以上9个.h中的

#import "xxx"

全部屏蔽掉即可。

4.在 工程 CXXXApp::InitInstance() 里添加对OLE的支持

if (!AfxOleInit())

{

  AfxMessageBox(_T("Can‘t Initialize COM dll!"));

  return FALSE;

}

5.重新编译工程,此时 CRange.h 的 DialogBox函数 会报错误,将 DialogBox 函数名 改为 _DialogBox 即可。

6.添加一个按钮Run,然后点击时启动Excel。函数如下

void XXXDlg::OnClickedRun()

{

  COleVariant covTrue((short)TRUE), covFalse((short)FALSE), covOptional(long)DISP_E_PARAMNOTFOUND, VT_ERROR);

  CApplication app;

  if ( !app.CreateDispatch(TEXT("Excel.Application")) )

  {

    AfxMessageBox(TEXT("Could not start Excel and get application object!"));

    return;

  }

  

  app.put_Visible(TRUE);

  app.pu_UserControl(TRUE);

}

时间: 2024-11-06 23:18:27

MFC 操作excel的相关文章

MFC 操作excel 读写 感悟

在项目实现中,要操作excel 对表格进行读写,或者是将listcontrol控件里面的内容导入到表格中,为此在网上找了很多代码作为参考,但是都没有达到自己想要的效果! 在此,将自己在项目开发中遇到的问题和解决方法一一列出,希望能帮到其他人.    问题1   出现range等类的重定义,报错100多项 出错原因 主要是对于excel类库的多次添加导致,可以将类库删除后,重新添加.注意:在添加类中,应该添加自己需要的类,最好不要将类全部添加,否则程序运行会很慢. 同时,对于excel类库中类的操

使用MFC操作EXCEL文件

一.加载 1. 在VC6.0里创建一个MFC工程 2.打开MFCClassWizard窗口(查看->建立类向导),选择Automation,单击AddClass按钮,选择Froma type library...,弹出文件选择对话框,之后定位到C:\Program Files\MicrosoftOffice\OFFICE11\EXCEL.EXE,在生成类中添加所有的对象(其实添加需要的即可,为了简便,不出错保留了冗余),如下图.     3.返回编辑器,查看工程文件,可发现多了EXCEL.9H及

关于MFC操作Excel的几点心得

一.操作多个sheet时,记得在操作前先选中要操作的sheet 如将sheet1内的range(A1:An)的内容复制到sheet2内,“类Range的Select方法无效” 可在range.Select();前加sheet.Activate(); 二.使用CFileDiaDlg打开多个文件时,记得要为文件名设定缓存 CFileDialog内置的文件名缓存长度只有200,但是很多时候,文件的路径远大于这个数,为了保险起见,要自己设定一个文件名缓存. dlgFile.m_ofn.nMaxFile

MFC操作excel

环境:VS2013+office2007 头文件: 1 #pragma once 2 #ifndef __MYEXCEL_H_ 3 #define __MYEXCEL_H_ 4 #include "CApplication.h" 5 #include "CFont0.h" 6 #include "CRange.h" 7 #include "CWorkbook.h" 8 #include "CWorkbooks.h&q

MFC 与Excel文件的交互操作

假日快要结束了,带着沉重的心情写下之前关于MFC与Excel文件交互的总结.由于VS的版本不同可能在操作上有些差异,所以在此指明下本篇文章的工程环境为VS2013,也建议大家用最新的. 说到程序对于Excel的操作,应该不能算是什么新需求了,方法也有好几种,诸如利用office提供的接口.开源代码之类的.本文在查了一些资料之后选择了实现起来较为反便的一种.其实现的方法基本上完全照抄的这篇文章的,如果看本篇不大明白的可以去看看. 参考的文章说,"踏破铁鞋无觅处,得来费死了工夫",然而进过

MFC:使用ODBC操作EXCEL表

方案一:利用现成的第三方库:CSpreadSheet 使用CSpreadSheet操作EXCEL的局限性:你只能够在EXCEL中创建表,然后才能够采用ODBC的方式操作EXCEL表,否则查询语句中FROM后面的表名称无法填写. 限制 该控件需要MFC(微软基础类库)支持.未测试是否支持Unicode编码.控件以ODBC读写 Excel文件,需要ODBC驱动程序.Excel文件必须列标记.且首行列标记唯一(字段).禁止 删除工作簿,仅允许删除工作簿内容.列值类型参照程序数据类型.不采用Excel格

VC操作excel

http://www.cnblogs.com/witxjp/archive/2010/06/05/1752181.html 最近在做个数据库程序,因为有些数据用户要求导出到Excel文件显示(需要报给其他单位).所以查阅了一下相关的VC的Excel编程操作,总结一下吧:(所有资料来源于网络) 利用VC操作Excel的方法至少有两种 1 .利用ODBC把Excel文件当成数据库文件,来进行读.写.修改等操作,网上有人编写了CSpreadSheet类,提供支持. 2. 利用Automation(OL

VC++操作Excel

摘要:使用Microsoft Office所带的控件来实现代码操作excel表格. 开发环境:操作系统是Microsoft Windows7 32bit,Office办公套装是Microsoft Office 2003,编程环境是Microsoft Visual Studio 6.0. 使用背景:我最近有个项目中要生成报表,是将数据库中的发证数据查询出来导出到Excel表格中以便打印,所以上网找了这方面的内容,具体内容如下,如错误还请指证. 从平常我们操作一般文件上来看,无非是打开文件,操作文件

OLE操作Excel编译错误处理

Excel在公司用的很多,而这个东西我用的不是很好,就想用程序来处理,遇到很多错误.这几天研究了下OLE操作Excel.环境:VS2008 SP1+Excel 2007 加入OLE Type Library随便建立一个MFC程序,选添加类,Typelib中的MFC类,出来一个对话,可用类型库选“Microsoft Excel 12.0 Object Library”一般来说,添加下边这些类就够了,当然也可以全部添加CApplication CWorkbookCWorkbooksCWorkshee