没有合适的资源?快使用搜索试试~ 我知道了~
VC操作Excel的方法 VC操作Excel的方法 VC操作Excel的方法
资源推荐
资源详情
资源评论
VC 操作 Excel 的方法(2007-01-05 21:18:45)
分类:VC,VB,Matlab 编程开发
A:从 classwizard 中 add class 处 from type library,去 office 的安装目录下引入 excel.exe(这是
office 2003 的选择,其他版本都是用 olb 文件),服务器就算引入了,这时会弹出对话框,要求加
入一些类,这些类都是一些接口,里面有大量的方法,类的对象表征着 excel 文件的一个个部分,
常用的有这几个_application,workbooks,_workbook,worksheets,_worksheet,Range,它们分
别代表不同的意义._application 代表了 EXCEL 服务器,workbooks 表示整个 Excel 服务器
(表现为一个.xls 文件)里所有的表,(可以通过"新建"得到多个表,即 MDI 程序里的一个视窗
一样,所有的视窗就是 workbooks), _workbook 就是一个表,相当于 MDI 中的一个视窗,
worksheets 表示所有的表单,每个表都可能有很多表单(建立一个 Excel 文件之后,打开,可以
看到有 sheet1,sheet2 等,所有这些 sheetn 就组成了 worksheets), _worksheet 就表示一个表单,
range 表示元素的集合. 搞清楚上面这几个名词的意思非常重要.
B,在 dlg.h 中声明下面几个变量:
_Application exlapp; //组件服务器的各个 classes
_Workbook wbk;
Workbooks wbks;
_Worksheet wht;
Worksheets whts;
LPDISPATCH lpDisp;
并 在 app.cpp 的 InitInstance 方 法 中 加 入 下 面 两 句 AfxInitOle();
AfxEnableControlContainer();
C,这里我没有像上面一样完全用程序来生成一个 Excel 文件,而是在开始时就在当前目录下
生成了一个 Excel 文件,在对话框上我设置了两个按钮,下面是"显示"按钮的代码:
//创建 Excel 服务器
if(!exlapp.CreateDispatch("Excel.Application"))
{
AfxMessageBox("无法启动 Excel 服务器!");
return;
}
COleVariant avar((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
exlapp.SetVisible(TRUE);//使 Excel 可见
exlapp.SetUserControl(TRUE);//允许其它用户控制 Excel,否则 Excel 将一闪即逝.
//Open an excel file
char path[MAX_PATH];
GetCurrentDirectory(MAX_PATH,path);
CString strPath = path;
strPath += "\VCOpExcel";
wbks.AttachDispatch(exlapp.GetWorkbooks());
lpDisp=wbks.Open(strPath,
avar,avar,avar,avar,avar,avar,avar,avar,avar,avar,avar,avar,avar,avar);
资源评论
Augusdi
- 粉丝: 1w+
- 资源: 5762
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功