生成HTML文件,并将已有的数据追加到前一个HTML,现在等的好急的 我想问高手,关于生成HTML的表格,我想在按钮里实现的功能:当点每次按钮的时候,1.创建一个HTML,判断当前目录下有没有HTML文件,如果当前没有HTML文件就创建,2.当前目录下有HTML文件,将在生成的表格里数据追加到前一个生成HTML文件里,因为我生成的HTML文件表格数据不是直接通过表的数据查询,是一条条记录追加,最终生成HTML名字是当前命名的,当前目录每天只有一个HTML文件请问这样什么能实现,代码如何写, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把html文件当成文本文件处理,取出表中的数据,添加html标记,入<table ><tr><td>数据1</td></tr><tr><td>数据2</td></tr>......</table> 写一个模板xsl文件,把数据放入xml文件然后xml+xsl解析出HTML文件。这样数据有变更时,只要修正xml文件。当然前提是你要懂xml+xsl 如何实现把数据追加到HTML文件中,请高手指点!!dzstrlist := TStringList.Create; bzstrlist := TStringList.Create; bzstrlist.Add('<table border=1>'); //补帐 bzstrlist.Add('<tr><th>商户日期</th>'); bzstrlist.Add('<th>商户号</th>'); bzstrlist.Add('<th>商户订单号</th>'); bzstrlist.Add('<th>交易金额</th>'); bzstrlist.Add('<th>系统日期</th>'); bzstrlist.Add('<th>系统流水号</th>'); bzstrlist.Add('<th>银行日期</th>'); bzstrlist.Add('<th>银行流水号1</th>'); bzstrlist.Add('<th>银行流水号2</th></tr>'); merdate := fieldbyname('MER_DATE').AsString; // 商户日期 MerId := FieldByName('mer_id').AsString; //商户号 OrdId := FieldByName('ord_id').AsString; //商户订单 TransAmt1 := FieldByName('trans_amt').AsString; //交易金额 SysDate := FieldByName('sys_date').AsString; //系统日期 sysseqid := FieldByName('SYS_SEQ_ID').AsString; // 系统流水号 bkdate := FieldByName('BK_DATE').AsString; // 银行日期 bkseqid1 := fieldbyName('BK_SEQ_ID1').AsString; //银行流水号1 bkseqid2 := fieldbyName('BK_SEQ_ID2').AsString; //银行流水号2 bzstrlist.Add('<tr><td>' + MerDate + '</td>'); bzstrlist.Add('<td>' + MerId + '</td>'); bzstrlist.Add('<td>' + OrdId + '</td>'); bzstrlist.Add('<td>' + TransAmt1 + '</td>' ); bzstrlist.Add('<td>' + SysDate + '</td>'); bzstrlist.Add('<td>' + SysSeqId + '</td>'); bzstrlist.Add('<td>' + BkDate + '</td>'); bzstrlist.Add('<td>' + BkSeqId1 + '</td>'); bzstrlist.Add('<td>' + BkSeqId2 + '</td></tr>'); dzstrlist.Add(format('完成银行[网关%s]的对账。对账日期%s至%s<br>总笔数%d条<br>成功笔数%d条<br>未找到记录笔数%d条<br>' + '失败笔数%d条<br>成功交易金额:%s<br>出错记录金额:%s<br>', [curgateid,FormatDateTime('yyyy-mm-dd', now-1), FormatDateTime('yyyy-mm-dd', now), count1, s_count, noreccnt, error, ssum, errorsum])); dzstrlist.Add(format('<br>补账总笔数:%d,总金额:%s。补账交易明细:<br>', [bz_count, bzsum])); bzstrlist.Add('</table>'); dzstrlist.AddStrings(bzstrlist); saveFileName := ExtractFileDir(Application.ExeName) + '\log\支付对账结果' + formatdatetime('yyyy-mm-dd', now)+'@07'+'.htm' ; if not FileExists(saveFileName) then //文件不存在就创建, dzstrlist.SaveToFile(saveFileName) else if FileExists(saveFileName)then //文件存在就将数据追加到HTML,这个不知道什么写,打开文件,在追加是吗?怎么写, begin bzstrlist.Add('</table>'); dzstrlist.AddStrings(bzstrlist); yfzxstrlist.Add('</table>'); dzstrlist.AddStrings(yfzxstrlist); zxstrlist.Add('</table>'); dzstrlist.AddStrings(zxstrlist) ; dzstrlist.SaveToFile(saveFileName) end; dzstrlist.Free; bzstrlist.Free; yfzxstrlist.Free; zxstrlist.Free; 楼主的不算低,我见过2分的。。可能还有更低的。二楼的方法不错,LZ有兴趣可以看看csdn论坛帖子的制作,右键查看源码。。 此类淫士偶看得多了,拿了答案就flash人的,在一两角以内的帐号如果出现这么低的性欲,那就真的与人品有直接的关系了-------------------------------------------------------本回复由大傻的破玩意儿【CSDN's forum Explorer】完成!软件功能强大,速度超快!!支持中...软件下载地址:http://CoolSlob.ys168.com DELPHI7中怎样对mysql数据库进行导入/导出操作? 关于不同分辨率下的窗体大小问题 DBGrid的问题。一个字 . . . . 难 ! ! ! ! ! 找到多条纪录,但只有一条是期望的 PChar与char的区别? 对Ehlib控件很熟悉的同志请帮一下,其打印问题。 为什么帮助文挡老是提示错误! 能不能去掉TEdit控件中的输入光标,我的Edit在只读状态下! 谁有D6补丁1的序列号 祝大家新年快乐 用For循环动态创建多个线程,为何好像只创建了一个线程 请问ado连接oracle的问题
然后xml+xsl解析出HTML文件。这样数据有变更时,只要修正xml文件。当然前提是你要懂xml+xsl
bzstrlist := TStringList.Create;
bzstrlist.Add('<table border=1>'); //补帐
bzstrlist.Add('<tr><th>商户日期</th>');
bzstrlist.Add('<th>商户号</th>');
bzstrlist.Add('<th>商户订单号</th>');
bzstrlist.Add('<th>交易金额</th>');
bzstrlist.Add('<th>系统日期</th>');
bzstrlist.Add('<th>系统流水号</th>');
bzstrlist.Add('<th>银行日期</th>');
bzstrlist.Add('<th>银行流水号1</th>');
bzstrlist.Add('<th>银行流水号2</th></tr>');
merdate := fieldbyname('MER_DATE').AsString; // 商户日期
MerId := FieldByName('mer_id').AsString; //商户号
OrdId := FieldByName('ord_id').AsString; //商户订单
TransAmt1 := FieldByName('trans_amt').AsString; //交易金额
SysDate := FieldByName('sys_date').AsString; //系统日期
sysseqid := FieldByName('SYS_SEQ_ID').AsString; // 系统流水号
bkdate := FieldByName('BK_DATE').AsString; // 银行日期
bkseqid1 := fieldbyName('BK_SEQ_ID1').AsString; //银行流水号1
bkseqid2 := fieldbyName('BK_SEQ_ID2').AsString; //银行流水号2 bzstrlist.Add('<tr><td>' + MerDate + '</td>');
bzstrlist.Add('<td>' + MerId + '</td>');
bzstrlist.Add('<td>' + OrdId + '</td>');
bzstrlist.Add('<td>' + TransAmt1 + '</td>' );
bzstrlist.Add('<td>' + SysDate + '</td>');
bzstrlist.Add('<td>' + SysSeqId + '</td>');
bzstrlist.Add('<td>' + BkDate + '</td>');
bzstrlist.Add('<td>' + BkSeqId1 + '</td>');
bzstrlist.Add('<td>' + BkSeqId2 + '</td></tr>'); dzstrlist.Add(format('完成银行[网关%s]的对账。对账日期%s至%s<br>总笔数%d条<br>成功笔数%d条<br>未找到记录笔数%d条<br>' +
'失败笔数%d条<br>成功交易金额:%s<br>出错记录金额:%s<br>',
[curgateid,FormatDateTime('yyyy-mm-dd', now-1), FormatDateTime('yyyy-mm-dd', now), count1, s_count, noreccnt, error, ssum, errorsum])); dzstrlist.Add(format('<br>补账总笔数:%d,总金额:%s。补账交易明细:<br>', [bz_count, bzsum]));
bzstrlist.Add('</table>');
dzstrlist.AddStrings(bzstrlist); saveFileName := ExtractFileDir(Application.ExeName) + '\log\支付对账结果' + formatdatetime('yyyy-mm-dd', now)+'@07'+'.htm' ; if not FileExists(saveFileName) then //文件不存在就创建,
dzstrlist.SaveToFile(saveFileName)
else if FileExists(saveFileName)then //文件存在就将数据追加到HTML,这个不知道什么写,打开文件,在追加是吗?怎么写,
begin
bzstrlist.Add('</table>');
dzstrlist.AddStrings(bzstrlist);
yfzxstrlist.Add('</table>');
dzstrlist.AddStrings(yfzxstrlist);
zxstrlist.Add('</table>');
dzstrlist.AddStrings(zxstrlist) ;
dzstrlist.SaveToFile(saveFileName)
end;
dzstrlist.Free;
bzstrlist.Free;
yfzxstrlist.Free;
zxstrlist.Free;
本回复由大傻的破玩意儿【CSDN's forum Explorer】完成!
软件功能强大,速度超快!!支持中...
软件下载地址:http://CoolSlob.ys168.com