


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、巧用 Delphi 与 Excel 实现电大学生证的自动打印Automatic Printing of TVU Students Card Using Delphi and ExcelCHEN Yi-kui(Shanwei Radio and TV University ,Shanwei 516600 , China ): Information technology has changed people's way of life and work , makes people free from repetitive and tedious work , and completin
2、g the work with greater efficiency. Discussed in this paper is how to realize the automatic printing of TVUstudent card with the application of delphi and excel , including the application of ADO component in Delphi , Excel data access , printing with the way of using ComObj interface to call excel
3、function.电视大学是由分布在基层的市县电大统一招生, 由省电大和 中央电大审核录取。 录取工作完成后, 市县电大会收到由省电大 下发的 Excel 文档格式的录取学生名单和相应数量的空白学生 证。市县电大教务人员再将学生名单和空白学生证分发给各班辅 导员,由辅导员手动填写制作学生证。手写学生证存在效率低、 不美观不统一、易出错等弊端。因此,如果能开发一个程序自动 去调用 Excel 文档中的学生信息, 并自动打印到学生证上, 将大 大提高工作效率, 同时学生证也将更加美观整洁。 该文将详细阐 述利用 Delphi 技术来解决学生证的自动打印问题。1 Delphi 与 ADO术ADO(A
4、ctiveX Data Objects ) 是一个用于访问数据源的COM!件。它为编程语言与统一数据访问方式 OLE DB之间建立 了一个中间层,用以实现对各种数据库的数据访问。 ADC提供了 很多对象用于实现对数据库的连接与调用等操作, 最重要的三个 对象为数据库连接对象 Connection , 记录集合对象 Recordset 和SQL命令对象CommandDelphi拥有一个可视化的集成开发环境(IDE),采用面向 对象的编程语言 ObjectPascal 和基于部件的开发结构框架。在 Delphi 众多的优势当中,它在数据库方面的特长显得尤为突出, 适应多种数据库结构、 高效率的数据
5、库管理系统、 最新的数据分 析手段等。在数据库调用方面,Delphi完全支持ADO数据访问技术,采用一套完整的 ADOS件实现对ADO寸象的封装与调用。1.1 ADO 连接!件 TADOConnectionTADOConnection组件用于建立与 ADO数据存储的连接,其 中最主要的属性为 ConnectionString 属性,用于指明数据源驱 动、数据库文件和登录用户及密码等数据库连接信息。1.2 ADO数据操纵组件 TADODataSet TADOTable TADOQuery 三个组件都可以通过TADOCo nn ection组件或直接设置其ConnectionString 属性建立
6、数据连接,然后通过调用执行 SQL语句和存储过程来操纵数据库表。三者之间,TADODataSet组件功能最强大,它封装了 TTable、TQuery 和 TStoredProc 等组件 所有基于BDE程序的功能。TADOTable组件主要实现对单个数据 库表的获取与操作。TADOQuen组件的使用最为灵活,通过执行 SQL语句调用与操纵各个数据库表中的数据。1.3 ADO 数据集的绑定与显示通过ADO操纵组件执行数据查询 (select )操作后会返回相 应的数据集合。TDataSource数据源组件用于绑定由 ADO操纵组 件返回的数据集, 并做为 TDBGrid、TDBNavigator
7、等数据显示组 件的数据源。通过图 1 可直观反映各个组件之间的关系。图1 ADO组件关系图图1中,在ADO数据操纵组件部分,该文选用了TADOQuery组件,该组件功能齐全、使用灵活。2 Delphi 与 Excel 的互连Excel 是目前最常用的电子表格处理软件,功能强大、使用 方便。除了具备数据排版、 计算处理、 统计分析等功能外, Excel 采用关系型数据库的方式对数据进行组织与管理。 这使得 Delphi 通过ADC连接组件TADOConnection与Excel进行互连成为可能。以下为TADOConnection组件连接Excel时所需要设置的 ConnectionString
8、属性的信息。Provider=Microsoft.Jet.OLEDB.4.0 ;DataSource=D: xxxx.xls ;Extended Properties=Excel 8.0 ;Persist Security Info=False其中, Provider 属性用于指明数据库驱动。 Data Source 属 性用于指明 Excel 文件所在位置以及名称。 Extended Properties 属性用于指明所连接的目标为 Excel 文件。3 Delphi 打印技术Delphi 自带两款打印控件 QuickReport 和 Rave。 QuickReport 是一款分栏报表生成器
9、, 因其功能有限, 在 Delphi 7 的标准控件面板中已经被 Rave 报表控件取代, Rave 报表控件 是一个可视化的报表设计工具,提供专门的报表制作工具 Rave Designer 。然而,该文将用另一种方式来实现 Delphi 的打印,即将数 据传送到 Excel 报表模板文件中, 再调用 Excel 打印方法来实现 信息的打印。此种方法,利用 Excel 强大的排版功能来设计报表, 真正实现报表设计与程序功能的完全分离, 便于报表的修改。 具 体操作流程如下:1)使用 Excel 制作报表模板文件。2)通过ComObj单元的CreateOleObject 函数建立Excel应 用
10、程序对象,并与报表模板文件进行绑定。关键代码如下:Eclapp :=createoleobject('Excel.Application');Eclapp.WorkBooks.Open (getcurrentdir+'报表模板.xls');3) 通过 Eclapp 对象, 将数据输送到 Excel 报表模板指定的 单元格内,再调用 Excel 打印功能进行打印。调用打印功能代码为: Eclapp.ActiveSheet.PrintOut ;4 自动打印程序的实现4.1 界面的设计程序的界面如图 2 所示,上方用于选择学生录取名单所在的 Excel 文件,点击“提
11、取数据”按钮后会在左边框中显示所有的 专业信息, 点击专业名称后, 会在右边框中显示该专业对应的学 生列表。在专业信息列表中单击右键可以选择打印整个专业的学 生证,在学生列表中单击右键可以选择打印某个学生的学生证。图2 学生证打印程序的界面4.2 主要组件及设置 程序的主要组件及设置如表 1 所示。表1 主要组件与设置信息列表4.3 关键代码4.3.1 提取录取学生名单 Excel 文档数据的代码MyDM.ADOConnEXCEL.ConnectionString: ='Provider=Microsoft.Jet.OLEDB.4.0; Data Source= ' +trim
12、( edit1.Text )+ ' ;Extended Properties= Excel 8.0 ;Persist Security Info=False';with MyDM.ADOQExTable1 dobeginclose ; sql.Clear ;sql.Add ('select distinct专业 from sheet1$' );open;end;4.3.2 打印单个学生证代码use comObj , excel2000 ; /包括必要有控件单元procedure TF_dyxsz.N1Click( Sender: TObject );varEcl
13、app : variant ;beginEclapp := createoleobject( 'Excel.Application');Eclapp.WorkBooks.Open ('d : xueshengzheng.xls' );/ 绑定学生证报表模板文件。Eclapp.WorkSheets1.Activate; / 设置活动工作表:/ 以下为将数据输入到 Excel报表模板相应的单元格内。Eclapp.Range'B1'.Select ;Eclapp.ActiveCell.FormulaR1C1 :=trim(MyDM.ADOQExTable2.FieldValues' 姓名' );Eclapp.ActiveCell.FormulaR1C1 : =trim(MyDM.ADOQExTable2.FieldValues' 学号 ' ); eclapp.ActiveSheet.PrintOut ; / 打印 eclapp.ActiveWorkBook.Saved := True ; / 放弃存盘: eclapp.WorkBooks.Close ; /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生管理领域考试题型及答案
- 专利申请中的数据完整性要求试题及答案
- 2024年文化产业管理证书考试整体框架试题及答案
- 探索文化产业管理证书考试疑难试题及答案
- 医院综合考核试题及答案
- 临床执业医师考试个人发展知能试题及答案
- 新技术在母猪护理中的应用试题及答案
- 公共卫生执业医师考试重要时间试题及答案提醒
- 学业成果交付合同协议
- 定点药店劳务合同协议
- 无机化学下册第十八章铜锌副族
- 预应力锚索支护施工方案方案
- GMP自检计划与自检报告
- 坚持男女平等基本国策(妇联培训)
- 新闻采访与写作-马工程-第五章
- ISO9001-2015质量手册和全套程序文件
- 申请结婚报告表实用文档
- 纪念五四运动100周年知识竞赛试题题库与答案
- YY/T 1492-2016心肺转流系统表面涂层产品通用要求
- YS/T 1028.3-2015磷酸铁锂化学分析方法第3部分:磷量的测定磷钼酸喹啉称量法
- JJF 1104-2003国家计量检定系统表编写规则
评论
0/150
提交评论