在 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]).
您可能关注的文档
- 土方开挖、回填工程技术交底.docx
- 土方开挖运输合同.docx
- 土方开挖论证方案(审批稿)2012.2解答.docx
- 土方运输工程合同书.docx
- 土木工程学院钢筋混凝土框剪结构实训实验室建设项目申报书.docx
- 土木工程建设监理小抄第版邓铁军.docx
- 土木工程施工试题及答案3套.docx
- 土木工程力学期末参考).docx
- 土木暑期工地实习日志解答.docx
- 土的抗剪强度-粘聚力和内摩擦角.docx
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)