把存储过程获取的数据输出到报表的html模板中
制作报表的html模板
<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<TITLE>报表模板</TITLE>
<BODY>
<TABLE BORDER="1" cellpadding="0" cellspacing="0">
<TR>
<TH>公司名称</TH>
<TH>联系人</TH>
<TH>产品名称</TH>
<TH>产品名称</TH>
</TR>
<TR>
<TD>Exotic Liquids</TD>
<TD>Charlotte Cooper</TD>
<TD>Chai</TD>
<TD>18.0000</TD>
</TR>
<TR>
<TD>Exotic Liquids</TD>
<TD>Charlotte Cooper</TD>
<TD>Chang</TD>
<TD>19.0000</TD>
</TR>
</TABLE>
</BODY>
</HTML>
浏览器打开效果图
通过存储过程获取报表的数据,然后生成上面的报表模板html
function TForm1.DataToHtml(cds: TClientDataSet): Boolean;
var
l: TStringList;
i: Integer;
begin
Result := False;
if (cds = nil) or (not cds.Active) or (cds.IsEmpty) then
Exit;
l := TStringList.Create;
try
try
// html头
l.Add('<HTML>');
l.Add('<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />');
l.Add('<TITLE>报表模板</TITLE>');
l.Add('<BODY>');
l.Add('<TABLE BORDER="1" cellpadding="0" cellspacing="0">');
// 表头
l.Add('<TR>');
l.Add('<TH>门店编号</TH>');
l.Add('<TH>门店名称</TH>');
l.Add('<TH>系统版本</TH>');
l.Add('<TH>协议版本</TH>');
l.Add('<TH>离开时间</TH>');
l.Add('</TR>');
// 数据
cds.First;
while not cds.Eof do
begin
l.Add('<TR>');
for i := 0 to cds.FieldCount - 1 do
begin
l.Add('<TD>' + cds.Fields[i].Text + '</TD>');
end;
l.Add('</TR>');
cds.Next;
end;
// html尾
l.Add('</TABLE>');
l.Add('</BODY>');
l.Add('</HTML>');
// 保存成html文件
l.SaveToFile(ExtractFilePath(Application.ExeName) + '1.html');
Result := True;
except
Result := False;
end;
finally
l.Free;
end;
end;
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/3859832.html