diff --git a/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr b/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr index 67f89f12f..b4cc33cc3 100644 --- a/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr +++ b/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr @@ -22,11 +22,9 @@ begin // Create the spreadsheet MyWorkbook := TsWorkbook.Create; - MyWorkbook.SetDefaultFont('Times New Roman', 9); - MyWorksheet := MyWorkbook.AddWorksheet('Sheet'); - // Use first row and column as a header + // Use first row and column as headers Myworksheet.Options := MyWorksheet.Options + [soHasFrozenPanes]; Myworksheet.TopPaneHeight := 1; Myworksheet.LeftPaneWidth := 1; diff --git a/components/fpspreadsheet/fpspreadsheet.pas b/components/fpspreadsheet/fpspreadsheet.pas index 5c5053339..005f23191 100755 --- a/components/fpspreadsheet/fpspreadsheet.pas +++ b/components/fpspreadsheet/fpspreadsheet.pas @@ -3427,12 +3427,20 @@ procedure TsWorksheet.WriteCellValueAsString(ACell: PCell; AValue: String); var isPercent: Boolean; number: Double; + r, c: Cardinal; begin if ACell = nil then exit; if AValue = '' then begin - WriteBlank(ACell^.Row, ACell^.Col); + if ACell^.UsedFormattingFields = [] then + begin + r := ACell^.Row; + c := ACell^.Col; + RemoveCell(r, c); + end + else + WriteBlank(ACell); exit; end; diff --git a/components/fpspreadsheet/wikitable.pas b/components/fpspreadsheet/wikitable.pas index 6c107195c..95ace98e6 100644 --- a/components/fpspreadsheet/wikitable.pas +++ b/components/fpspreadsheet/wikitable.pas @@ -428,6 +428,8 @@ begin // Default font lStyleStr := ''; lFont := FWorkbook.GetDefaultFont; + if lFont.FontName <> DEFAULTFONTNAME then + lStyleStr := lStyleStr + Format('font-family:%s;', [lFont.FontName]); if fssBold in lFont.Style then lStyleStr := lStyleStr + 'font-weight:bold;'; if fssItalic in lFont.Style then