StringGridからHTMLのTabel形式で吐き出すには?

解決


テンテン  2006-07-06 23:08:11  No: 22437

お世話になります。

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;


maco  2006-07-07 05:21:00  No: 22438

http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N023.html

Mr_XRAYさんのWEBのHalbow資料館へのリンクです。

上記URLのサンプルのように、StringGrid.Objects[ACol,ARow]に、
背景色を格納しておけばいいと思います。


テンテン  2006-07-07 18:41:42  No: 22439

macoさま
有益な情報ありがとうございました。

StringGridのOnDrawCellイベントでのセル描画条件から、力技でHTMLに吐き出させましたが、ご紹介のサイトのようにObjectsに格納させてから変換したほうがよいですね。

ありがとうございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加