Mega Code Archive

 
Categories / Delphi / VCL
 

How to convert a TStringGrid to HTML

Title: How to convert a TStringGrid to HTML procedure SGridToHtml(SG: TStringgrid; Dest: TMemo; BorderSize: Integer); var i, p: integer; SStyle1, SStyle2, Text: string; begin Dest.Clear; Dest.Lines.Add(''); Dest.Lines.Add(''); Dest.Lines.Add(' + IntToStr(BorderSize) + '" width="' + IntToStr(SG.Width) + '" height="' + IntToStr(SG.Width) + '"'); for i := 0 to SG.RowCount - 1 do begin Dest.Lines.Add(' '); for p := 0 to SG.ColCount - 1 do begin SStyle1 := ''; SStyle2 := ''; if fsbold in SG.Font.Style then begin SStyle1 := SStyle1 + ''; SStyle2 := SStyle2 + ''; end; if fsitalic in SG.Font.Style then begin SStyle1 := SStyle1 + ''; SStyle2 := SStyle2 + ''; end; if fsunderline in SG.Font.Style then begin SStyle1 := SStyle1 + ''; SStyle2 := SStyle2 + ''; end; Text := sg.Cells[p, i]; if Text = '' then Text := ' '; Dest.Lines.Add(' + IntToStr(sg.ColWidths[p]) + '" height="' + IntToStr(sg.RowHeights[p]) + '" + IntToHex(sg.Font.Color, 6) + '" face="' + SG.Font.Name + '"' + SStyle1 + Text + SStyle2 + ''); end; Dest.Lines.Add(' '); end; Dest.Lines.Add(' '); Dest.Lines.Add('');; Dest.Lines.Add(''); end; Usage Example: procedure TFormCSVInport.Button6Click(Sender: TObject); begin SGridToHtml(StringGrid1, Memo1, 1); Memo1.Lines.SaveToFile('c:\test.html'); end;