From d1ef94451a3957958696d41762f632400c735145 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Tue, 8 Jul 2014 20:52:59 +0000 Subject: [PATCH] fpspreadsheet: Fix invalid xml characters issue in writing xlsx files (see http://forum.lazarus.freepascal.org/index.php/topic,25110.msg152030.html#msg152030). git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3300 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr | 1 + components/fpspreadsheet/xlsxooxml.pas | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr b/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr index 8e54ab8d0..1915f2bce 100644 --- a/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr +++ b/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr @@ -32,6 +32,7 @@ begin MyWorksheet.WriteNumber(0, 1, 2.0); MyWorksheet.WriteNumber(0, 2, 3.0); MyWorksheet.WriteNumber(0, 3, 4.0); + MyWorksheet.WriteUTF8Text(0, 4, '& " '' < >'); MyWorksheet.WriteUTF8Text(0, 26, 'AA'); // Test for column name diff --git a/components/fpspreadsheet/xlsxooxml.pas b/components/fpspreadsheet/xlsxooxml.pas index 0da01d645..2d00bc186 100755 --- a/components/fpspreadsheet/xlsxooxml.pas +++ b/components/fpspreadsheet/xlsxooxml.pas @@ -516,7 +516,7 @@ begin FSharedStrings := FSharedStrings + ' ' + LineEnding + - Format(' %s', [ResultingValue]) + LineEnding + + Format(' %s', [UTF8TextToXMLText(ResultingValue)]) + LineEnding + ' ' + LineEnding; CellPosText := TsWorksheet.CellPosToText(ARow, ACol);