VC2010对Excel的操作..docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC2010对Excel的操作.

VC2010对Excel的操作创建新的C++工程创建基于对话框的MFC程序添加库、添加Excel类库在工程名上右键,选择“添加”—“类”(或者点击菜单栏的“项目”-“添加类”),选择“TypeLib中的MFC类”(MFC Class From TypeLib)类来源选“注册表”,在可用的类型库中选择“Microsoft Excel 11.0 Object Library1.5”在接口列表框中选择需要的类,在此,我们选择_Application,_Workbook,Worksheet,Range,Workbooks,Worksheets这六个就可以了。可以看到,六个类被添加了进来。修改头文件分别将加进来的六个头文件上面的“#importC:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE no_namespace”注释掉。添加头文件在stdAfx.h头文件中添加加进来的这几个头文件#includeCApplication.h#includeCRange.h#includeCWorkbook.h#includeCWorkbooks.h#includeCWorksheet.h#includeCWorksheets.h修改错误编译,会出现两个错误:…\crange.h(335): warning C4003: “DialogBoxW”宏的实参不足…\crange.h(335): error C2059: 语法错误:“,”双击错误提示,定位在错误行,VARIANTDialogBox(){VARIANTresult;InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT, (void*)result, NULL);returnresult;}将该函数名“DialogBox()”前面加“_”下划线,即“_DialogBox()”,这样就可以编译成功了。在对话框中添加一个编辑框,并为其关联一CEdit类型变量m_Path,添加“打开”按钮,实现打开一已经存在的Excel文件。并将路径显示在编辑框中。实现代码如下。voidCExportToExcelDlg::OnBnClickedButtonOpen(){CFileDialogfile(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T(EXCEL文件t(*.xls;*.xlsx)|*.xls;*.xlsx||),AfxGetMainWnd());if(file.DoModal()==IDOK){CString strPath=file.GetPathName();m_Path.SetWindowTextW(strPath);CApplication app;CWorkbook book;CWorkbooks books;if (!app.CreateDispatch(_T(Excel.Application))){MessageBox(_T(Error!Creat Excel Application Server Faile!));exit(1);}//books.AttachDispatch(app.get_Workbooks(),true);//book.AttachDispatch(books.Add(_variant_t(strPath)));books = app.get_Workbooks();book = books.Add(_variant_t(strPath));app.put_Visible(true);//结尾,释放app.Quit();book.ReleaseDispatch(); books.ReleaseDispatch(); app.ReleaseDispatch();}}在对话框中添加“写入”按钮,实现新建一Excel文件(存在则覆盖),并向文件中写入数据。实现代码如下。voidCExportToExcelDlg::OnBnClickedButtonWrite(){CString strFile = _T(D:\\WriteToExcelTest.xlsx);COleVariant covTrue((short)TRUE), covFalse((short)FALSE), covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); CApplication app;CWorkbook book;CWorkbooks books;CWorksheet sheet;CWorksheets sheets;CRangerange;CFontfont;if (!a

文档评论(0)

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

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

1亿VIP精品文档

相关文档