VC操作Excel的方法..doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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); ? ?wbks.ReleaseDispatch(); ?exlapp.ReleaseDispatch(); D,与上面第一种方法一样,可以插入记录: UpdateData();?????//读入数据 if (==m_name)?????//判断名字输入有效 { ??MessageBox(Please input a right name); ??return; ?} ?if (0=m_age||100=m_age)??//判断年龄输入有效 { ??MessageBox(Please input a right age); ??return; ?} ?char *p=strupr(_strdup(m_gener)); ?if (strcmp(p,FEMALE)strcmp(p,MALE)) //判断性别输入有效 { ??MessageBox(Please input a right gener); ??return; ?} ? ?Range range; ?Range usedRange; ?COleVariant??avar((long)DISP_E_PARAMNOTFOUND,VT_ERROR); ? ?if(!exlapp.CreateDispatch(Excel.Application)) //启动服务器 { ??AfxMessageBox(无法启动Excel

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档