diff --git a/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr b/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr index 02b79dde4..97f4fcc0c 100644 --- a/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr +++ b/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr @@ -36,7 +36,8 @@ begin MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet'); // Write some cells - MyWorksheet.WriteNumber(0, 0, 1.0);// A1 + MyWorksheet.WriteNumber(0, 0, 1.0, nfPercentage, 2);// A1 + (* MyWorksheet.WriteNumber(0, 1, 2.0);// B1 MyWorksheet.WriteNumber(0, 2, 3.0);// C1 MyWorksheet.WriteNumber(0, 3, 4.0);// D1 @@ -234,7 +235,7 @@ begin // Creates a new worksheet MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet 2'); - +*) // Save the spreadsheet to a file MyWorkbook.WriteToFile(MyDir + 'test.ods', sfOpenDocument); diff --git a/components/fpspreadsheet/fpsopendocument.pas b/components/fpspreadsheet/fpsopendocument.pas index 076980cef..3dd599760 100755 --- a/components/fpspreadsheet/fpsopendocument.pas +++ b/components/fpspreadsheet/fpsopendocument.pas @@ -1375,7 +1375,10 @@ procedure TsSpreadOpenDocReader.ReadNumFormats(AStylesNode: TDOMNode); Continue; end else if nodeName = 'number:number' then begin - s := GetAttrValue(node, 'decimal-places'); + if ANumFormatName = 'number:currency-style' then + s := GetAttrValue(node, 'decimal-places') + else + s := GetAttrValue(node, 'number:decimal-places'); if s <> '' then decs := StrToInt(s) else decs := 0; grouping := GetAttrValue(node, 'number:grouping') = 'true'; nf := IfThen(grouping, nfFixedTh, nfFixed);