C++在VS2008的IDE环境中操作Excel2007(基础)
来源:互联网 发布:平果平板软件 编辑:程序博客网 时间:2024/05/16 19:57
http://blog.sina.com.cn/s/blog_6cc1c52d0100x3g6.html
在网上找了一些方法不是特别行的通,在同事的指导下测试成功了,记录下来。
1.新建一个MFC Application,选择Dialog based,创建工程。2.放置一个button控件。
3.在classView视图中,右键点击工程名,Add->class,在弹出的对话框中选择MFCclass Form TypeLib,在打开的对话框中按图示选择:
将_Application,_WorkBook, _WorkSheet, Range, WorkBooks,Worksheets选入右边,点击确定。
此时在类视图中增加了几个新类
4.将新产生的类的每个头文件中的最开头的
#import "C:\\Program Files\\MicrosoftOffice\\Office12\\EXCEL.EXE" no_namespace
类似语句注释掉
将
VARIANT DialogBox()
{
VARIANT result;
InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT,(void*)&result, NULL);
return result;
}
DialogBox之前加入下划线:
VARIANT _DialogBox()
{
VARIANT result;
InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT,(void*)&result, NULL);
return result;
}
注释:如果不进行此操作,在引用的时候会出现非常多的错误。
5.在CXXXXXDlg.h中引入
#include "CApplication.h"
#include "CRange.h"
#include "CWorkbook.h"
#include "CWorkbooks.h"
#include "CWorksheet.h"
#include "CWorksheets.h"
头文件
6.在CXXXXDlg.cpp中引入
#include "comdef.h"
7.在CXXXXApp的InitInstance()函数中加入AfxOleInit();函数。
8.在按钮的单击事件响应函数中加入
CApplication app;
CWorkbooks books;
CWorkbook book;
CWorksheets sheets;
CWorksheet sheet;
CRange range;
CRange cols;
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
if(!app.CreateDispatch(_T("Excel.Application")))
{
MessageBox(_T("创建Excel服务失败...."),_T("信息提示"), MB_OK);
return;
}
books=app.get_Workbooks();
book=books.Add(covOptional);
sheets=book.get_Sheets();
sheet=sheets.get_Item(_variant_t((short)1));
range=sheet.get_Range(_variant_t(_T("A1")),_variant_t(_T("A1")));
range.put_Value2(_variant_t("HELLO EXCEL!"));
range=sheet.get_Range(_variant_t("A2"),_variant_t("A2"));
range.put_Formula(_variant_t("=RAND()*100000"));
range.put_NumberFormat(_variant_t("$0.00"));
cols=range.get_EntireColumn();
cols.AutoFit();
app.put_Visible(TRUE);
app.put_UserControl(TRUE);
运行效果图:
因为自己今天第一次尝试,还不知道某些地方的具体含义和原理,仅实现功能,后续的会在使用中加深。自己测试过通过。
- C++在VS2008的IDE环境中操作Excel2007(基础)
- C++在VS2008的IDE环境中操作Excel2007(基础)
- C++在VS2008的IDE环境中操作Excel2007(基础)
- [IDE] 安装VS2008在C根目录下留下的垃圾文件
- VS2008 IDE 基本编程环境的使用方法(1)
- vc操作excel历程(vs2008+excel2007)
- DELPHI基础:DELPHI中IDE环境的设置
- VS2008 IDE 基本编程环境的使用方法(2)—编程环境的详细设置
- 在C#中使用NPOI2.0操作Excel2003和Excel2007
- 在C#中使用NPOI2.0操作Excel2003和Excel2007
- 在C#中使用NPOI2.0操作Excel2003和Excel2007
- Directx 9.0/9.0c 在vs2008 里面的环境配置
- Directx 9.0/9.0c 在vs2008 里面的环境配置
- 聊一下我在LINUX环境下用过的C/C++编辑器(或IDE)
- 聊一下我在LINUX环境下用过的C/C++编辑器(或IDE)
- 聊一下我在LINUX环境下用过的C/C++编辑器(或IDE)
- 聊一下我在LINUX环境下用过的C/C++编辑器(或IDE)
- vs2008中怎么切换环境(c#,C++)
- OTG Transceiver --- ISP1301 的驱动代码分析(一)
- 未找到可用于建立连接的介质筛选器组合
- java后台向前台传一个list,前台接收报错
- JavaEE关联Oracle数据库
- 简单的讲述xp系统电脑配件的选择
- C++在VS2008的IDE环境中操作Excel2007(基础)
- linux 进程间信号通知,线程间同步与通信 Test study Model
- vc_各类型数据最大值
- MySQL 索引方式
- ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
- 记录iphone
- 创建ZWCAD实体--弧长标注
- Android(Java):jni源代码
- eWebeditor V2.8增加分页功能