当前位置: 老葡京网站娱乐 > 编程语言 > Delphi > 正文

如何把存储过程获取的数据输出到报表的html模板中

时间:2015-02-13

老葡京网站娱乐 www.sdguanhua.com 制作报表的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>

浏览器打开效果图

更多精彩内容:http://www.sdguanhua.com/Programming/Delphi/

通过存储过程获取报表的数据,然后生成上面的报表模板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;

Author:cnblogs 咏南 delphi