网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi实现自己的Excel报表
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

Excel是大家都比较熟悉的表格处理软件,用它来做自由报表载体其好处有:

l          从用户角度:

载体本身具有脚本支持,公式编辑,模板支持,格式、版式设计等诸多功能,而这些功能对于大部分用户是比较熟悉的。省去了用户培训环节;多数办公用电脑都装有Office软件,所以,其输出的报表可以被任何装有Office软件的计算机浏览;

l          从开发者角度:

可以通过OLE访问,提供了大量的编程接口,几乎所有的操作都可以用程序来控制;利用宏、VBA等技术可以很轻松地编写报表设计模块。



整体思路:

程序通过OLE获取Excel的Sheet对象。遍历每个单元格,将模板中的元素以变量、表格等替换,就生成了最终报表。其中元素种类可分为变量元素、数据集元素、数据字段元素和其它标志元素。它们都是处于单元格内的包含特殊格式的字符串,格式可以自由定义,但要保证此格式不会与正文相冲突。



如:

#ValueAA#          (变量名两边加入#号,当遍历到其所在的单元格时在程序中对单元格进行相应处理)



报表功能实现:

首先新建Excel模板,如下图:







模板保存为template.xlt



现在模板有了,现在需要实现的功能就是分析此模板,将模板中的元素替换为程序中将要输出的变量或数据表。



下面我们来设计一个简单的模板分析类(TXlTemplateAnalyzer):

公有方法:

generateReport       //套用模板生成最终报表。

registerDataSet       //在DataSet列表中新增数据集。

registerParam        //在Param列表中新增变量。

removeDataSet                  //在DataSet列表中删除数据集。

removeParam           //在Param列表中删除变量。

SetSheetObject         //设置模板的Sheet对象



私有成员变量:

FBoundLeft, FBoundRight                  //保存左右列边界

FDataSetList          //用于维护数据集列表的私有成员。

FParamList              //用于维护变量列表的的私有成员。

FExcelSheetObject //被操作模板的Sheet对象。

FCurrentRow             //当前处理的行号

FCurrentCol               //当前处理的列号



私有工具方法:

ProcessDataSetElement //处理数据集元素

getTemplateBoundary       //获取边界索引号

parsorFieldNameFromElement                 //从模板元素中提取字段名

FindParam                 //从FParamList中查找特定Name的变量

FindDataSet             &nbs

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号