文档详情

excel导入导出.docx

发布:2017-12-15约1.14万字共11页下载文档
文本预览下载声明
有事发我信箱agentina2000@263.net 我也不是很懂大家一起讨论讨论吧!在Visual ? C++ ? 中调用Excel ? 2000 ? 在开发软件时,经常要将数据输出到Excel ? 2000中,在Excel ? 2000中对该数据进行进一步地格式化处理或进行计算处理。在Visual ? Basic中处理起来较简单,Excel ? 2000的VB编程帮助中有较为详细的介绍。在Visual ? C++中如何进行处理了?利用Excel ? 2000的ActiveX ? Automate功能,处理起来同VB 中类似。但要注意以下几点: ? 对于对象的属性值的读取或赋值,需要用GetProperty()或SetProperty(NewValue)函数,不能象VB中直接通过属性名称取值或赋值。例如:Worksheet.GetCount(), ? Worksheet.SetName(“Sheet1” )。 ? 对集合对象中的成员对象的引用,必须使用集合对象的GetItem()函数。例如:Worksheets. GetItem (ColeVariant((long)1))或Worksheets.GetItem(ColeVariant(“Sheet1”))取得第一个工作表。 ? 在COM接口中,时常用到Variant,BSTR,SafeArray数据类型。Variant数据类型是一个联合,可表示几乎所有的类型的数据,具体用法见MSDN中的相关介绍,类_variant_t是对VARIANT数据类型的封装。在Excel ? 2000的VB编程帮助中,如果提到某函数或属性需要一个值,该值的数据类型通常是Va riant,在封装Excel ? 2000对象的类定义中,说明了具体需要的数据类型。BSTR是一个包括了字符串和字符串长度的数据结构,类_bstr_t是对BSTR数据类型的封装。在Excel ? 2000的VB编程帮助中提到的字符串通常指BSTR。具体函数参数或属性的数据类型,见封装该对象的类的定义。SafeArray是一个包括数组和数组边界的结构,数组边界外的内容不允许访问。在Excel ? 2000的VB编程帮助中提到的数组是指Sa feArray。关于SafeArray的处理,请见MSDN的相关帮助。 ? 对于缺省参数和缺省值。在VB中,函数的参数可以空缺,在VC++中不允许,必须将所有的参数填写完全。如果你希望指定某个参数为缺省值,根据参数数据类型的不同,可指定不同的缺省值。当参数数据类型为字符串时,可以用长度为0的字符串。如果参数是Variant类型,可用常量vtMissing,该常量在comdef.h 中定义。也可用_variant_t(DISP_E_PARAMNOTFOUND, ? VT_ERROR)产生一个Variant对象。 ? Excel对象中的集合对象有时包括的子对象是不一定的,例如:Range对象,可以表示Cell的集合,也可以表示Column的集合或Row的集合,Range.GetItem(1)可以返回Cell或Column或Row对象。 ? 对对象的引用或传递对象,使用IDispatch类对象,有时利用Variant对IDispatch进行包装。? 以下是一段源程序,演示如何启动Excel ? 2000,利用一个模板文件产生一个新文档,在该文档的”Sheet1” 工作表的第一个单元中填写一段文字,设置第一列的列宽,然后调用一个模板中的宏,执行一段程序,最后打印预览该Excel文档。模板文件名称:MyTemplate.xlt。程序在Visual ? C++ ? 6.0 ? sp4,W indows ? 2000 ? Professional ? sp-1下调试通过。 ? 首先利用Visual ? C++ ? 6.0,建立一个MFC基于对话框的工程项目,共享DLL,Win32平台。工程名称ExcelTest。在主对话框中加入一个按钮, ? ID ? IDC_EXCELTEST ? Caption ? Test ? Excel ? 双击该按钮,增加成员函数void ? CExcelTestDlg::OnExceltest()。 ? 在BOOL ? CExcelTestApp::InitInstance()中,dlg.DoModal();之前增加代码: ? if ? (CoInitialize(NULL)!=0) ? { ? AfxMessageBox( 初始化COM支持库失败! ); ? exit(1); ? } ? 在return ? FALSE; ? 语句前,加入: ? CoUninitialize(); ? 选择Menu- View- ClassWizade,打开ClassWizade窗口,选择Ad
显示全部
相似文档