You've already forked lazarus-ccr
fpspreadsheet: Activate boIgnoreFormulas also when reading an ods file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6213 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -2354,30 +2354,33 @@ begin
|
|||||||
end;
|
end;
|
||||||
Delete(formula, 1, p);
|
Delete(formula, 1, p);
|
||||||
end;
|
end;
|
||||||
// ... convert to Excel "A1" dialect used by fps by defailt
|
if not (boIgnoreFormulas in FWorkbook.Options) then
|
||||||
parser := TsSpreadsheetParser.Create(FWorksheet);
|
begin
|
||||||
try
|
// ... convert to Excel "A1" dialect used by fps by defailt
|
||||||
|
parser := TsSpreadsheetParser.Create(FWorksheet);
|
||||||
try
|
try
|
||||||
parser.Dialect := fdOpenDocument;
|
try
|
||||||
parser.LocalizedExpression[FPointSeparatorSettings] := formula;
|
parser.Dialect := fdOpenDocument;
|
||||||
parser.Dialect := fdExcelA1;
|
parser.LocalizedExpression[FPointSeparatorSettings] := formula;
|
||||||
formula := parser.Expression;
|
parser.Dialect := fdExcelA1;
|
||||||
except
|
formula := parser.Expression;
|
||||||
on E:EExprParser do
|
except
|
||||||
begin
|
on E:EExprParser do
|
||||||
Workbook.AddErrorMsg(E.Message);
|
begin
|
||||||
formula := '';
|
Workbook.AddErrorMsg(E.Message);
|
||||||
if (boAbortReadOnFormulaError in Workbook.Options) then raise;
|
formula := '';
|
||||||
end;
|
if (boAbortReadOnFormulaError in Workbook.Options) then raise;
|
||||||
on E:ECalcEngine do
|
end;
|
||||||
begin
|
on E:ECalcEngine do
|
||||||
Workbook.AddErrorMsg(E.Message);
|
begin
|
||||||
formula := '';
|
Workbook.AddErrorMsg(E.Message);
|
||||||
if (boAbortReadOnFormulaError in Workbook.Options) then raise;
|
formula := '';
|
||||||
|
if (boAbortReadOnFormulaError in Workbook.Options) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
finally
|
||||||
|
parser.Free;
|
||||||
end;
|
end;
|
||||||
finally
|
|
||||||
parser.Free;
|
|
||||||
end;
|
end;
|
||||||
// ... and store in cell's FormulaValue field.
|
// ... and store in cell's FormulaValue field.
|
||||||
cell^.FormulaValue := formula;
|
cell^.FormulaValue := formula;
|
||||||
|
Reference in New Issue
Block a user