执行到这里,报表生成完毕。
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 := parsorfieldnamefromelement(fieldcellstr); //从元素中解析字段名
fexcelsheetobject.rows[fcurrentrow + j].cell[i] := adataset.fieldbyname(fieldname).value; //将//相应字段的值赋入单元格