码迷,mamicode.com
首页 > 编程语言 > 详细

VS2008中C++打开Excel(MFC)

时间:2014-11-11 18:30:53      阅读:423      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   os   sp   for   

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

第一步:建立project(新建项目)

   bubuko.com,布布扣                    

英文版

bubuko.com,布布扣

中文版

 

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

bubuko.com,布布扣

英文版

bubuko.com,布布扣

中文版

选择dialog based(基于对话框),中文。之后点击finish(完成)

 

第二步:导入EXCEL头文件

 bubuko.com,布布扣

英文版

 bubuko.com,布布扣

中文版-新建类

 

bubuko.com,布布扣 

中文版-新建TypeLib中的MFC类

 bubuko.com,布布扣

中文版-导入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

bubuko.com,布布扣 

并在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口

bubuko.com,布布扣 

 

添加AfxOleInit();

第四步:建一个Button按钮

bubuko.com,布布扣 

 

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

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

双击“打开Excel”

 bubuko.com,布布扣

 

bubuko.com,布布扣
 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 }
View Code

 

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

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

最后运行:

bubuko.com,布布扣    bubuko.com,布布扣     

 

VS2008中C++打开Excel(MFC)

标签:style   blog   http   io   color   ar   os   sp   for   

原文地址:http://www.cnblogs.com/lzx838/p/4090095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!