fpspreadsheet: Fix creation of erratic sheets by XLSX reader if not-yet-existing sheets are referenced in formulas during reading.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6415 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-05-15 12:05:18 +00:00
parent 3eb43e2152
commit 8adcbb27cd
2 changed files with 2 additions and 5 deletions

View File

@ -1774,8 +1774,6 @@ begin
Result := TsCellExprNode.Create(self, FWorksheet, r1, c1, flags, false)
else begin
sheet := FWorksheet.Workbook.GetWorksheetByName(sheetName);
if sheet = nil then
sheet := FWorksheet.Workbook.AddWorksheet(sheetname, true);
Result := TsCellExprNode.Create(self, sheet, r1, c1, flags, true);
end;
end
@ -1789,8 +1787,6 @@ begin
GetToken;
if TokenType = ttCell then begin
sheet := FWorksheet.Workbook.GetWorksheetByName(sheetName);
if sheet = nil then
sheet := FWorksheet.Workbook.AddWorksheet(sheetName, true);
Result := TsCellExprNode.Create(self, sheet, CurrentToken, true)
end else
if TokenType = ttCellRange then begin

View File

@ -731,7 +731,8 @@ begin
end
else
// "Normal" formula
AWorksheet.WriteFormula(cell, formulaStr);
cell^.FormulaValue := formulaStr;
// AWorksheet.WriteFormula(cell, formulaStr);
except
on E:EExprParser do begin
FWorkbook.AddErrorMsg(E.Message);