fpspreadsheet: Fix calculation of formulas with defined names in ODS.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9401 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
f6b3b7e9dd
commit
0d6a27eff3
@ -2961,6 +2961,7 @@ begin
|
||||
try
|
||||
formula := TsWorksheet(FWorksheet).Formulas.AddFormula(ARow, ACol);
|
||||
formula^.Parser := TsSpreadsheetParser.Create(FWorksheet);
|
||||
TsSpreadsheetParser(formula^.Parser).AddDefinedNames;
|
||||
formula^.Parser.Expression[fdOpenDocument] := formulaStr; // Parse in ODS dialect
|
||||
formula^.Text := formula^.Parser.Expression[fdExcelA1]; // Convert to Excel A1 dialect
|
||||
cell^.Flags := cell^.Flags + [cfHasFormula];
|
||||
@ -3168,6 +3169,8 @@ begin
|
||||
ReadSheetProtection(TableNode, FWorksheet);
|
||||
// Collect embedded images
|
||||
ReadShapes(TableNode);
|
||||
// Read defined names
|
||||
ReadDefinedNames(SpreadSheetNode);
|
||||
// Collect column styles used
|
||||
ReadColumns(TableNode);
|
||||
// Remove excess rows added at the end
|
||||
@ -3197,7 +3200,6 @@ begin
|
||||
TableNode := TableNode.NextSibling;
|
||||
end; //while Assigned(TableNode)
|
||||
|
||||
ReadDefinedNames(SpreadSheetNode);
|
||||
FreeAndNil(Doc);
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user