VS2008中C++打开Excel(MFC)
2015-03-21 15:33
204 查看
第一步:建立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应用程序
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();
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()
最后运行:
选择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应用程序
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();
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)
- VS2008中C++打开Excel(MFC)
- VS2008中C++打开Excel(MFC)
- VC++6.0中C++打开Excel(MFC)
- 【MFC/C++ 操作Excel】将数字格式单元格转为文本格式
- MFC + VS2008 对Excel文件的操作
- VS2008基于对话框的MFC上位机串口通信(C++实现)简单例程
- VS2008环境下,C++生成Dll文件 C++调用Dll文件(非MFC)
- VS2008平台下,MFC操作EXCEL简单示例
- VS2005 MFC C/C++ 操作excel【网上找了好多列子,都不合适,自己总结一下】
- 【MFC/C++ 操作Excel】C++下TextToColumns函数的参数
- MFC C++弹出对话框打开txt文件(例子)
- MFC打开已有的excel文件,并编辑,保存
- 【转】VS2008环境使用MFC导入Excel文件中的数据
- VS2008用mfc读Excel文件
- 打开EXCEL的时候总是自动弹出VS2008的安装程序解决办法
- MFC程序编译时VS2008提示无法打开包含文件<afxcontrolbars.h>
- MFC 打开已经存在的EXCEL文件
- MFC 读取EXCEL表格 VS2008