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

IsTamplateElement           //判断是否为元素

IsDataSetFieldElement    //是否为数据字段元素

IsDataSetBeginElement   //是否为DataSet起始元素

IsControlTag              //是否为控制元素

IsParamElement      //是否为变量元素



事件:

OnParamElement    

OnDataSetOperationElement

OnControlElement

OnDataSetFieldElement

OnElement





写到这里大家可能已经知道我的用意了:其实这么多类成员中,但其核心就在于generateReport和ProcessDataSetElement这两个方法。

(以下代码只是描述性的脚本代码,在Delphi中不能编译)

generateReport:

------------------循环遍历单元格---------------------

FCurrentRow := iRow;

FCurrentCol := iCol;//保存当前正在处理的行列索引号

CellObj := FExcelSheetObject.Cells[iRow, iCol];//取当前单元格对象

CellValue := CellValue.Value;                       //取单元格内容

if IsTamplateElement(CellValue)                //判断是否为模板元素

begin

         if IsDataSetBeginElement(CellValue) then                 //判断是否为数据集开始元素

         begin

ProcessDataSetElement (CellValue);                 //处理数据集元素

         end;

         if IsParamElement then(CellValue) then            //判断是否为变量元素

                   CellObj.Value := FindParam(CellValue);   //查找变量值,填到当前单元格中

         if IsControlTag(CellValue) then

                   ………………….



end;





------------------遍历循环结束---------------------

执行到这里,报表生成完毕。



ProcessDataSetElement:

ADataSet := FindDataSet(CellValue);

for j:=0 to ADataSet.RecordCount - 1 do

begin

FExcelSheetObject.Rows[FCurrentRow + j].Delete;//将当前行删除(也就是#Table.Begin()#所在的行)

FExcelSheetObject.Rows[FCurrentRow + j].Insert;//新增行

FExcelSheetObject.Rows[FCurrentRow + j].Copy(FExcelSheetObject.Rows[FCurrentRow + 1]);

for i:= FBoundLeft to FBoundLeft do

begin

     fieldCellStr := FExcelSheetObject.Rows[FCurrentRow + j].Cell[i].Value; //获取数据字段元素

     fieldname := parsorFieldNameFr

网学推荐

免费论文

原创论文

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