お世話になります。
StringGridに表示されたデータをHTMLのTable形式に吐き出す方法を教えていただけないでしょうか。
StringGridはOnDrawCellイベントで、条件により色付けされている状態です。
下記コードで基本的な吐き出しは出来てるのですが、StringGridのセル毎の背景色、フォント設定も反映させたいと考えています。
こんなサイトはいかが?でも結構ですので、よろしくお願いいたします。
procedure TForm1.StringGridToHtmlTable(SG: TStringGrid; var strHtmlTable: string);
var
r, c: Integer;
SL: TStringList;
strHtmlColor: string;
begin
SL := TStringList.Create;
try
with SL do begin
Add('<table border="1">');
for r:=0 to SG.RowCount-1 do begin
Add('<tr>');
Add('<td nowrap>' + IntToStr(r) + '</td>');
for c:=0 to SG.ColCount-1 do begin
SG.Canvas.Pixels
if IsNumber(SG.Cells[c, r]) then
Add('<td align="right" nowrap>' + SG.Cells[c, r] + '</td>')
else
Add('<td align="left" nowrap>' + SG.Cells[c, r] + '</td>');
end;
Add('</tr>');
end;
Add('</table>');
end;
strHtmlTable := SL.Text;
finally
FreeAndNil(SL);
end;
end;
http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N023.html
Mr_XRAYさんのWEBのHalbow資料館へのリンクです。
上記URLのサンプルのように、StringGrid.Objects[ACol,ARow]に、
背景色を格納しておけばいいと思います。
macoさま
有益な情報ありがとうございました。
StringGridのOnDrawCellイベントでのセル描画条件から、力技でHTMLに吐き出させましたが、ご紹介のサイトのようにObjectsに格納させてから変換したほうがよいですね。
ありがとうございました!
ツイート | ![]() |