omElement(fieldCellStr); //从元素中解析字段名
FExcelSheetObject.Rows[FCurrentRow + j].Cell[i] := ADataSet.FieldByName(fieldname).Value; //将//相应字段的值赋入单元格
end;
ADataSet.Next;
end
FCurrentRow := FCurrentRow + j;
到这里,这个模板分析类的核心功能基本完成了,我想如果这个类的实现代码全部完成后,应该把这个类做成一个Component,并
注册到Delphi的IDE中,以便以后使用。在上而提到的类的事件,是用来实时通知客户当前正在处理哪个Element和Cell,客户可以在此事件中做更进一步的特殊处理(例如将上述模板中产值小于完成计划数的单元格置为红色等等),非常灵活,但是出于代码整洁,在这里我没有加到代码中。另外在
程序中还可以在报表中加入Excel的各种Chart、Shape等对象,这些留着我以后再写吧。
TXlTemplateAnalyzer类的是这样调用:
begin
1先将数据集、变量注册。
templtAnalyzer.RegisterDataSet(DataSet1, ‘Table);
templtAnalyzer.RegisterParam(Now, ‘Date’);
templtAnalyzer.RegisterParam(totalQu, ‘TotalQuantity’);
templtAnalyzer.RegisterParam(totalPlan, ‘TotalPlan’);
templtAnalyzer.RegisterParam(totalPer, ‘TotalPercent’);
2生成报表
templtAnalyzer.generateReport;
end;
参考文档:MSDN:Microsoft Developer Net
好了,大家不妨按我的思路试试,希望我的这篇文章能给大家带来帮助。
本人口才不好,又是初次写文档,难免会有不合适的地方,欢迎大家指正,我定会继续努力的。