- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在 DELPHI 中将多表头数据表引入到EXCEL 中的实践 2005年第 5 期福建电脑 79 在 DELPHI 中将多表头数据表引入到 EXCEL 中的实践 杜海 (电子科技大学计算机学院四川成都 610054) 【摘要】 Eh11b 控件是当前 DELPHI 编程中最流行的表格和报表制作工具 ,Ehl1b 控件中的dbgrldeh是在 DELPHI 中表格制作具有复杂表头时的有力工具 ,Excel 是当前最流行的处理数据 报表的工具 .本文介绍如何使这两种 工具有力的结合起来 .解决复杂表头导入到 EXCEL 中来的问题 . 【关键字】Delph1,Dbgr1deh,Excel报表,Vcl架构 引言 数据报表作为企事业单位上报和下达的重要信息载体 ,随 着信息化建设的不断推进 ,在实际的工作中得到了前所未有的 应用.因此,数据报表已经成为管理信息系统中重要的一项功 能.并且.由于数据的多样性和统计信息的增加 ,数据报表的系 统实现变得越来越复杂? Delphi 是一个效的可视化数据库管理信息系统开发工 具..但是 Delphi 开发环境中提供的报表控件在制作复杂报表时 显得不够理想 ,不管是以前版本提供的 QuickReport 控件组,还 是Delphi7提供的Rave控件组.都不能让用户对生成的报表进 行改动.且程序控制很难实现.ExceI作为现代办公常用的电子 表格制作工具 ,以它的易操作性和实用性 ,得到了各行业办公人 员的青睐 . 在我为四川 I 省计生委开发报表系统过程中 .选择了 Ehilb 控件中的Dbgrideh来作为数据录入的介面.之所以选择它是因 为它具有表示多表头的功能 ,在录入时显得非常的形象化 ,介面 也显得非常的华丽 ,但是它的报表打印功能很欠缺 .而且在实 际工作中 .根据客户要求常常需要 EXCEL 的格式的报表及数 据表输出 .因此 .我觉得把多表头数据表引入到 EXCEL 中成为 了非常迫切的要求 .但是 Ehilb 控件所提供的功能非常之有限 . 根本无法按我的想法输出多表头到 EXCEL 中来 . 这就要求对 Ehilb 控件的 VCL 架构进行研究 .在我深入研 究了一段时问之后 ,终于找到解决这个问题办法 . 对 Ehilb 控件进行改造 2.1 原来程序存在的问题 在 Ehilb 控件 DBGfidEhlmpEx~ 中 TDBGridEhExportAsXLS WriteTide 方法中只是简单的把表头按表格的 Caption 属性输 出 ,没有层次和内容的结构体现 . procedureTDBGridEhExportAsXLS.WriteTifle(ColurunsList:TColumnsEhList); v—amp;ri:Integer;, begin fori:=0IoColurmmList.Count 一 1d0 bemn WriteStringCell(ColumnsList[i].Title.Caption); end; end; 而我想要得到的是如同程序中录入时的介面 (如图 1)一样 的 EXCLE 文件 ,显然它不能满足这点 . 鬻蠢薑I:?.冀I鼍蘧 图1 2,2 对该方法进行改造 通过对 Ehilb 控件仔细的研究 ,以及其中方法 ,函数的揣 摩.对该方法进行了改造 . procedureTDBGridEhExportAsX1.S.WriteTide(ColumnsList:TColumnsEhList); ~8f i.k.Integer;, FPTideExpArr:PTideExpArr; ListOtHeadTreeNodeList:TLisl: ColSpan,RowSpan:Integer;, strI:String; L:W0rd; begin ifColumnsLis1.Count=0then Exit; FR0w:=0: 让 DBGridEh.UseMuhiTidethen //多表头输出 begin try CreateMuhiTifleMatrixBGridEh.ColumnsLisLFPTideExpArr.istOtHeadTreeNodeList ); //将表头数据导入树状结构的列表中 fork:=ListOtHeadTreeNodeLis1.C 伽 nt— ldownto0do begin fori:=0toColumnsList.Count — ld0 begin CaleSpan(ColumnsList.ListOtHeadTreeNodeList.k.i.ColSpan,RowSpan); //计算跨列数跨行数 ifTHeadTreeNodeOLislstOtHeadTreeNodeList.Items[k]).
您可能关注的文档
最近下载
- 2024年10月自考13005软件工程试题及答案.docx VIP
- 三角形内角和教学设计优质课一等奖.pdf VIP
- 英语四六级常见短语及词组固定搭配汇总.pdf VIP
- 2025年自考税收筹划真题答案.docx VIP
- 2024_2025学年广东省广州市黄埔区高一上学期(10月)月考数学试卷【有解析】.pdf VIP
- 2025年中国静脉注射用人免疫球蛋白数据监测研究报告.docx
- 自考树社会学概论真题及答案分析.docx VIP
- 2025-2026学年江苏省无锡市高一上学期10月月考物理模拟试卷含详解.docx VIP
- (高清版)B 3100-1993 国际单位制及其应用.pdf VIP
- 6SE70系列变频器讲解及Drive Monitor调试(内部员工培训).ppt
文档评论(0)