ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:166.40KB ,
资源ID:2970462      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2970462.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(信息化技术在教学管理工作中的应用实践VC 应用Automation技术完成Excel复.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

信息化技术在教学管理工作中的应用实践VC 应用Automation技术完成Excel复.docx

1、信息化技术在教学管理工作中的应用实践VC 应用Automation技术完成Excel复信息化技术在教学管理工作中的应用实践VC+应用Automation技术完成Excel复杂管理工作摘要:电子表格软件Excel以其操作简单、功能强大,被全社会广泛应用。但随着应用深入,用户日益扩大的专业化需求与相对滞后的Excel通用工具之间的矛盾越来越突出。文章运用Automation技术,借助面向对象编程系统VC+,精心制作Excel文件操作类;使程序开发人员能够将注意力集中于需要解决的问题,而不是如何操作Excel文件上。作者结合实际工作,以“正方现代教学管理信息系统”导出的全院学生成绩为基础,应用此操作

2、类编写应用软件,分学科、教师、班级,完成学院级期末考试不及格率的统计,为评教、评学工作提供数据依据。关键字:VC+;Automation;Excel;数据统计;正方现代教学管理信息系统一、引言Excel 是微软办公套装软件Office的一个重要组成部分,它可以进行各种数据的处理、统计分析操作。因其入门简单、集成工具功能强大,被广泛地应用于管理、统计、财经、金融等众多领域。但随着Excel应用范围不断扩大,应用层次不断深入,专业领域中许多工作无法直接通过集成工具得到满意的结果。如何高效、准确地获得管理数据,已经成为衡量员工能力和工作质量的重要标准。Automation自动化技术是微软公司推出的一

3、个技术标准,是OLE技术的进一步扩展。自动化技术使应用程序能够对另一个应用程序中实现的对象进行操作,或者将对象公开以便可以对其进行操作。自动化服务器是向其他应用程序(称为自动化客户端)公开可编程对象(称为自动化对象)的应用程序 1。Excel被设计成为一个自动化服务器,可将其内部对象公开给其他应用程序,以供调用。VC+是一种面向对象的可视化集成编程系统。使用VC+编写程序,可以通过自动化技术对Excel文件直接操作,能够满足各领域对数据管理工作的复杂需求。本文首先构造Excel操作类,使读者能够将注意力集中于需要解决的问题上,从而提高程序开发效率,缩短开发周期;然后结合实际工作,应用此类编写学

4、院级期末考试不及格率的统计程序。文中程序均已通过VC+2010编译,并能够在Excel 2003支持下完成预设功能。二、Excel层次结构要通过Automation技术对Excel进行操作,必须与Excel对象模型提供的对象进行交互。Excel提供了一百多个可能需要与之交互的对象,但程序设计主要集中在以下六个,如图1所示。2Application对象表示整个应用程序,处于模型的最顶层。Workbooks对象作为所有Workbook对象的集合包含在Application对象中。Worksheets对象作为所有Worksheet对象的集合包含在Workbook对象中。Range代表一个或者若干连续

5、单元格区域。3三、 构建ExcelOperate类ExcelOperate类通过Automation技术直接调用Excel内部函数,完成查找、读取、写入、存储等基本操作。它由头文件ExcelOperate.h和定义文件ExcelOperate.cpp组成。头文件用于保存类中成员变量、函数的声明;定义文件主要保存成员函数的程序实现。(一)ExcelOperate类函数调用流程根据Excel层次结构,要对其进行操作必须按顺序创建和关联一系列对象。ExcelOperate类函数调用流程如图2所示。(二)头文件ExcelOperate.h#include comdef.h #include class

6、 ExcelOperate public: CRange m_TemRge; /用于保存用户设定区域ExcelOperate(); /构造函数virtual ExcelOperate(); /析构函数static void InitExcel(); /初始化Excel.Application对象bool Open(CString FileName); /打开Excel数据文件bool LoadSheet(int iIndex); /载入已打开Excel文件中第iIndex个表单long *FindCell(CString CellContext); /全表单查找long *FindInRge(

7、CString CellContext,long StartX,long StartY,long EndX,long EndY);/范围查找void SaveExcel(); /保存文件void SaveNewFile(CString FileName); /新建Excel文件,并保存CString GetCell(int iRow, int iColumn); /读取单元格数据void WriteInCell(long x,long y,CString str);/写入单元格数据void AppendDataRow(CString str1,CString str2,CString str3

8、,CString str4,CString str5);/向表单中追加数据行int GetRowCount(); /取得当前表单已经使用的总行数void CloseBook(); /关闭Excel文件void ShowInExcel(bool bShow); /设置是否在程序运行过程中显示Excel文件void SetRange(VARIANT x,VARIANT y); /将一个矩形区域保存到成员变量m_TemRge中CString ColumnNumToAlphameric(long row,long col);/将数字坐标转换为字母列数字行的形式,如“A7”private: static

9、 CApplication m_ExcelApp; /静态Application对象CWorkbooks m_Books; /工作簿组对象CWorkbook m_Book; /工作簿对象CWorksheets m_sheets; /表单组对象CWorksheet m_sheet; /表单对象CRange m_Rge; /区域对象,保存表单整个区域CString m_FileName; /保存已经打开的Excel文件名; (三)程序文件ExcelOperate.cpp1.引入头文件#include StdAfx.h#include ExcelOperate.h2.静态成员初始化CApplicat

10、ion ExcelOperate:m_ExcelApp = NULL;3.构造和析构函数ExcelOperate:ExcelOperate() /构造函数 ExcelOperate:ExcelOperate() /析构函数 m_Rge.ReleaseDispatch(); m_sheet.ReleaseDispatch(); m_sheets.ReleaseDispatch(); m_Book.ReleaseDispatch(); m_Books.ReleaseDispatch(); m_ExcelApp.Quit (); m_ExcelApp.ReleaseDispatch(); 4.初始化

11、Excel服务器初始化Excel.Application对象,如果过程中出现错误,则提示失败信息。由于m_ExcelApp为静态成员,所以在整个程序执行过程中,不论需要声明多少个类的对象,只需初始化一次即可。void ExcelOperate:InitExcel() if (!m_ExcelApp.CreateDispatch(_T(Excel.Application),NULL) AfxMessageBox(_T(创建Excel服务失败!); exit(1); 5.打开Excel文件首先,使用已经完成初始化的Application对象m_ExcelApp创建工作簿组对象(Workbooks)

12、,并将其关联到类成员变量m_Books。然后,将参数FileName指示的Excel文件作为一个工作簿(Workbook),添加到m_Books中,并关联到类成员变量m_Book;提取其中所有表单(Worksheets),添加到类成员变量m_sheets中。最后,将文件名保存到成员变量m_FileName备用。bool ExcelOperate:Open(CString FileName) m_Books.AttachDispatch(m_ExcelApp.get_Workbooks(),true); LPDISPATCH lpDis = NULL; lpDis = m_Books.Add(_

13、variant_t(FileName); if (lpDis) m_Book.AttachDispatch(lpDis); m_sheets.AttachDispatch(m_Book.get_Worksheets(),true); m_FileName=FileName; return true; return false; 6.载入表单引用存有指定Excel文件所有表单的成员变量m_sheets,取得指定索引序号iIndex的表单,将其关联到类成员变量m_sheet。将该表单中被使用单元格区域关联到类成员变量m_Rge。至此,对Excel文件操作所必需的对象均已构建、关联完毕。bool E

14、xcelOperate:LoadSheet(int iIndex) LPDISPATCH lpDis = NULL; m_Rge.ReleaseDispatch(); m_sheet.ReleaseDispatch(); lpDis = m_sheets.get_Item(_variant_t(long)iIndex); if (lpDis) m_sheet.AttachDispatch(lpDis,true); m_Rge.AttachDispatch(m_sheet.get_Cells(), true); return true; return false; 7.全表单查找在整个表单的范围

15、内,精确查找参数CellContext内容。如果找到,则返回第一个匹配单元格的横纵坐标;如果没找到,则横纵坐标均返回-1。long * ExcelOperate:FindCell(CString CellContext) LPDISPATCH lpDis = NULL; long *a = new long 2; a0=long(-1); a1=long(-1); CRange myRange=m_Rge; lpDis = myRange.Find (_variant_t(CellContext),vtMissing,vtMissing,vtMissing,vtMissing,_variant_t(long)1),vtMissing,vtMissing,vtMissing);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1