利用OLE自动化和VBA的Delphi动态报表的研究与实现

被引:0
作者
李佐斌
机构
[1] 武汉理工大学
关键词
动态报表; OLE自动化; VBA; EXCEL; Delphi;
D O I
暂无
年度学位
2006
学位类型
硕士
导师
摘要
本研究是针对在研课题的需求和传统报表工具(面向程序员报表)的不足,给出了Delphi实现的一种所见即所得的、面向用户的高级图文报表打印实现技术。面向用户的报表是指用户在使用阶段能够根据自己的要求对报表进行调整、修改、新增和删除的报表。这种报表大大加强了报表实现的灵活性和与用户的交互性,更好地满足了用户的实时要求,有效地实现了代码的重用、提高了系统的可维护性。该技术在黄(石)黄(梅)高速公路机电设备管理系统中进行了实际的运用,验证了其正确性、可靠性以及灵活性。 本文通过研究微软Excel文件的内部数据结构和存储机制,进而获取Excel文件的内部细节,在此基础上开发对Excel文件进行访问的组件。OLE是Microsoft公司为解决Windows应用程序间的通信问题而提出的协议规范,VBA是新一代Windows应用软件的通用控制语言,是Microsoft公司专为Office软件开发的,它提供了面向对象的程序设计方法并且引入了事件驱动的机制用于组织程序。通过反复试验,探讨了利用Delphi对OLE的支持,解决Delphi、Excel与SQL Server之间的通讯,将Delphi强大的数据检索、处理功能和Excel优良的制作复杂报表功能结合起来,实现不同应用程序间的有机结合,从而实现了复杂报表的制作和报表查询功能的可能。 动态报表具体功能开发的实现实际上是通过运用OLE Automation技术使用户通过编程可以在一个应用程序中控制另一个应用程序(Excel)的对象,达到可以由用户自由对所生成的报表按照自己的需求灵活的组合,拆分等的目的。设计思路为:查询后得到一个新的记录集,再将记录集中的记录通过VBA中的Excel对象逐条写入到Excel中的工作薄,并进行显示、存盘操作,还可通过Excel直接打印。 在Delphi中控制Excel的方法是首先链接Excel表,针对某个Excel表进行操作;其次是控制WorkBook、Sheet,包括建立新的WorkBook、Sheet,打开、保存、关闭WorkBook、Sheet等工作。本文通过黄黄项目中的开发报表实例研究,对于规则报表和不规则报表的实现分别用代码进行了详述。
引用
收藏
页数:70
共 23 条
[1]
存储过程和OLE技术在报表设计中的应用 [J].
刘福君 ;
申永军 ;
刘捷 ;
史维祥 .
计算机与现代化, 2003, (03) :71-73+76
[2]
基于Excel与VBA的通用报表系统的设计 [J].
彭江平 ;
王湘群 .
计算机系统应用, 2003, (01) :56-58
[3]
PowerBuilder中动态报表的设计 [J].
汪军 ;
欧阳峥峥 .
武汉工业学院学报, 2002, (04) :61-64
[4]
Delphi动态报表的设计实现 [J].
高晓超 .
计算机与现代化, 2002, (10) :73-75+78
[5]
基于OLE自动化任意形式报表的生成技术 [J].
范宝德 ;
刘惊雷 .
烟台大学学报(自然科学与工程版), 2002, (03) :224-228
[6]
Delphi中报表自动伸缩组件的设计与实现 [J].
王治和 ;
张强 ;
刘雪艳 .
西北师范大学学报(自然科学版), 2002, (02) :38-40+57
[7]
在Delphi中实现Excel的自动化 [J].
祝双武 .
西安工程科技学院学报, 2002, (01) :92-94
[8]
基于Delphi的报表创建方法 [J].
陆刚 ;
韩可琦 .
电脑开发与应用, 2002, (01) :48
[9]
对Excel实现外部结构化查询的方法 [J].
王勉宇 ;
梁军 .
计算机工程, 2002, (01) :279-281
[10]
基于Delphi+Excel2000制作复杂报表 [J].
曹芝兰 ;
王汉江 .
湖北大学学报(自然科学版), 2000, (04) :329-331+335