diff --git a/components/fpspreadsheet/examples/db_import_export/db_export_import.lpi b/components/fpspreadsheet/examples/db_import_export/db_export_import.lpi
index f364ff07f..a00db4c28 100644
--- a/components/fpspreadsheet/examples/db_import_export/db_export_import.lpi
+++ b/components/fpspreadsheet/examples/db_import_export/db_export_import.lpi
@@ -27,13 +27,10 @@
-
+
-
-
-
-
+
@@ -46,7 +43,6 @@
-
diff --git a/components/fpspreadsheet/examples/excel2demo/excel2read.lpi b/components/fpspreadsheet/examples/excel2demo/excel2read.lpi
index 2357a4b54..044140276 100644
--- a/components/fpspreadsheet/examples/excel2demo/excel2read.lpi
+++ b/components/fpspreadsheet/examples/excel2demo/excel2read.lpi
@@ -32,31 +32,35 @@
-
+
-
+
+
+
-
-
+
+
-
-
-
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/excel2demo/excel2read.lpr b/components/fpspreadsheet/examples/excel2demo/excel2read.lpr
index 59ed9b8e4..9bfa7b7ac 100644
--- a/components/fpspreadsheet/examples/excel2demo/excel2read.lpr
+++ b/components/fpspreadsheet/examples/excel2demo/excel2read.lpr
@@ -10,7 +10,7 @@ program excel2read;
{$mode delphi}{$H+}
uses
- Classes, SysUtils, fpspreadsheet, xlsbiff2, laz_fpspreadsheet;
+ Classes, SysUtils, fpspreadsheet, xlsbiff2;
var
MyWorkbook: TsWorkbook;
diff --git a/components/fpspreadsheet/examples/excel2demo/excel2write.lpi b/components/fpspreadsheet/examples/excel2demo/excel2write.lpi
index b796af7d9..ec66770e0 100644
--- a/components/fpspreadsheet/examples/excel2demo/excel2write.lpi
+++ b/components/fpspreadsheet/examples/excel2demo/excel2write.lpi
@@ -32,7 +32,7 @@
-
+
@@ -45,14 +45,22 @@
+
+
+
-
-
+
+
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/excel2demo/excel2write.lpr b/components/fpspreadsheet/examples/excel2demo/excel2write.lpr
index b45c93a2b..d30c9df58 100644
--- a/components/fpspreadsheet/examples/excel2demo/excel2write.lpr
+++ b/components/fpspreadsheet/examples/excel2demo/excel2write.lpr
@@ -10,7 +10,7 @@ program excel2write;
{$mode delphi}{$H+}
uses
- Classes, SysUtils, fpspreadsheet, xlsbiff2, laz_fpspreadsheet;
+ Classes, SysUtils, fpspreadsheet, xlsbiff2;
var
MyWorkbook: TsWorkbook;
diff --git a/components/fpspreadsheet/examples/excel5demo/excel5read.lpi b/components/fpspreadsheet/examples/excel5demo/excel5read.lpi
index 0adfe826e..41edc14e8 100644
--- a/components/fpspreadsheet/examples/excel5demo/excel5read.lpi
+++ b/components/fpspreadsheet/examples/excel5demo/excel5read.lpi
@@ -32,31 +32,35 @@
-
+
-
+
+
+
-
-
+
+
-
-
-
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/excel5demo/excel5read.lpr b/components/fpspreadsheet/examples/excel5demo/excel5read.lpr
index 436904ae0..4c8880725 100644
--- a/components/fpspreadsheet/examples/excel5demo/excel5read.lpr
+++ b/components/fpspreadsheet/examples/excel5demo/excel5read.lpr
@@ -10,8 +10,7 @@ program excel5read;
{$mode delphi}{$H+}
uses
- Classes, SysUtils, fpspreadsheet, xlsbiff5,
- laz_fpspreadsheet;
+ Classes, SysUtils, fpspreadsheet, xlsbiff5;
var
MyWorkbook: TsWorkbook;
diff --git a/components/fpspreadsheet/examples/excel5demo/excel5write.lpi b/components/fpspreadsheet/examples/excel5demo/excel5write.lpi
index de70f87d8..f7ff59409 100644
--- a/components/fpspreadsheet/examples/excel5demo/excel5write.lpi
+++ b/components/fpspreadsheet/examples/excel5demo/excel5write.lpi
@@ -32,31 +32,35 @@
-
+
-
+
+
+
-
-
+
+
-
-
-
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/excel8demo/excel8read.lpr b/components/fpspreadsheet/examples/excel8demo/excel8read.lpr
index 23a59067a..a2065c1dd 100644
--- a/components/fpspreadsheet/examples/excel8demo/excel8read.lpr
+++ b/components/fpspreadsheet/examples/excel8demo/excel8read.lpr
@@ -36,7 +36,7 @@ begin
// Create the spreadsheet
MyWorkbook := TsWorkbook.Create;
- MyWorkbook.ReadFormulas := true;
+ MyWorkbook.Options := MyWorkbook.Options + [boReadFormulas, boAutoCalc];
MyWorkbook.ReadFromFile(InputFilename, sfExcel8);
diff --git a/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpi b/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpi
index 484d5ec88..eff9a9a72 100644
--- a/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpi
+++ b/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpi
@@ -32,7 +32,7 @@
-
+
@@ -45,14 +45,22 @@
+
+
+
-
-
+
+
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr b/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr
index 32f76ab01..dec327388 100644
--- a/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr
+++ b/components/fpspreadsheet/examples/ooxmldemo/ooxmlwrite.lpr
@@ -10,7 +10,7 @@ program ooxmlwrite;
{$mode delphi}{$H+}
uses
- Classes, SysUtils, fpspreadsheet, fpsallformats, laz_fpspreadsheet;
+ Classes, SysUtils, fpspreadsheet, fpsallformats;
var
MyWorkbook: TsWorkbook;
diff --git a/components/fpspreadsheet/examples/opendocdemo/opendocread.lpi b/components/fpspreadsheet/examples/opendocdemo/opendocread.lpi
index 2b383bdaf..d161ba808 100644
--- a/components/fpspreadsheet/examples/opendocdemo/opendocread.lpi
+++ b/components/fpspreadsheet/examples/opendocdemo/opendocread.lpi
@@ -32,7 +32,7 @@
-
+
@@ -51,12 +51,16 @@
-
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/opendocdemo/opendocread.lpr b/components/fpspreadsheet/examples/opendocdemo/opendocread.lpr
index eb4af43fd..89b673173 100644
--- a/components/fpspreadsheet/examples/opendocdemo/opendocread.lpr
+++ b/components/fpspreadsheet/examples/opendocdemo/opendocread.lpr
@@ -11,8 +11,7 @@ program opendocread;
{$mode delphi}{$H+}
uses
- Classes, SysUtils, fpspreadsheet, fpsallformats,
- laz_fpspreadsheet;
+ Classes, SysUtils, fpspreadsheet, fpsallformats;
var
MyWorkbook: TsWorkbook;
diff --git a/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpi b/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpi
index 49ad37280..ce2de4812 100644
--- a/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpi
+++ b/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpi
@@ -32,7 +32,7 @@
-
+
@@ -45,14 +45,22 @@
+
+
+
-
-
+
+
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr b/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr
index cd5b83481..1fa50146e 100644
--- a/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr
+++ b/components/fpspreadsheet/examples/opendocdemo/opendocwrite.lpr
@@ -10,8 +10,7 @@ program opendocwrite;
{$mode delphi}{$H+}
uses
- Classes, SysUtils, fpspreadsheet, fpsallformats,
- laz_fpspreadsheet;
+ Classes, SysUtils, fpspreadsheet, fpsallformats;
var
MyWorkbook: TsWorkbook;
diff --git a/components/fpspreadsheet/examples/other/demo_formula_func.pas b/components/fpspreadsheet/examples/other/demo_formula_func.pas
index e2e86580f..de09e0dad 100644
--- a/components/fpspreadsheet/examples/other/demo_formula_func.pas
+++ b/components/fpspreadsheet/examples/other/demo_formula_func.pas
@@ -317,7 +317,7 @@ var
begin
workbook := TsWorkbook.Create;
try
- workbook.ReadFormulas := true;
+ workbook.Options := workbook.Options + [boReadFormulas];
workbook.ReadFromFile(AFilename, sfExcel8);
worksheet := workbook.GetFirstWorksheet;
diff --git a/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpi b/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpi
index f129d363c..7bf90ebc9 100644
--- a/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpi
+++ b/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpi
@@ -31,7 +31,7 @@
-
+
@@ -44,13 +44,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpr b/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpr
index b05cd02d0..5a85fbad4 100644
--- a/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpr
+++ b/components/fpspreadsheet/examples/wikitabledemo/wikitableread.lpr
@@ -11,7 +11,7 @@ program wikitableread;
uses
Classes, SysUtils, fpspreadsheet, wikitable,
- laz_fpspreadsheet, fpsutils;
+ fpsutils;
var
MyWorkbook: TsWorkbook;
diff --git a/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpi b/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpi
index 815f73380..a02f90e05 100644
--- a/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpi
+++ b/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpi
@@ -32,7 +32,7 @@
-
+
@@ -45,14 +45,22 @@
+
+
+
-
-
+
+
+
+
+
+
+
diff --git a/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr b/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr
index 567a6d7fc..e4eb7aac0 100644
--- a/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr
+++ b/components/fpspreadsheet/examples/wikitabledemo/wikitablewrite.lpr
@@ -10,8 +10,7 @@ program wikitablewrite;
{$mode delphi}{$H+}
uses
- Classes, SysUtils, fpspreadsheet, wikitable,
- laz_fpspreadsheet;
+ Classes, SysUtils, fpspreadsheet, wikitable;
const
Str_First = 'First';
diff --git a/components/fpspreadsheet/fpspreadsheet.pas b/components/fpspreadsheet/fpspreadsheet.pas
index 6292eaa22..51f4545f3 100755
--- a/components/fpspreadsheet/fpspreadsheet.pas
+++ b/components/fpspreadsheet/fpspreadsheet.pas
@@ -764,8 +764,13 @@ type
a cell value changes.
@param boCalcBeforeSaving Calculates formulas before saving the file.
Otherwise there are no results when the file is
- loaded back by fpspreadsheet. }
- TsWorkbookOption = (boVirtualMode, boBufStream, boAutoCalc, boCalcBeforeSaving);
+ loaded back by fpspreadsheet.
+ @param boReadFormulas Allows to turn on/off reading of formulas; this
+ is a precaution since formulas not or not fully
+ implemented by fpspreadsheet could crash the
+ reading operation. }
+ TsWorkbookOption = (boVirtualMode, boBufStream,
+ boAutoCalc, boCalcBeforeSaving, boReadFormulas);
{@@
Set of options flags for the workbook }
@@ -797,7 +802,6 @@ type
FFontList: TFPList;
FBuiltinFontCount: Integer;
FPalette: array of TsColorValue;
- FReadFormulas: Boolean;
FDefaultColWidth: Single; // in "characters". Excel uses the width of char "0" in 1st font
FDefaultRowHeight: Single; // in "character heights", i.e. line count
FVirtualColCount: Cardinal;
@@ -905,10 +909,6 @@ type
property FileName: String read FFileName;
{@@ Identifies the file format which was detected when reading the file }
property FileFormat: TsSpreadsheetFormat read FFormat;
- {@@ This property allows to turn off reading of rpn formulas; this is a
- precaution since formulas not correctly implemented by fpspreadsheet
- could crash the reading operation. }
- property ReadFormulas: Boolean read FReadFormulas write FReadFormulas;
property VirtualColCount: cardinal read FVirtualColCount write SetVirtualColCount;
property VirtualRowCount: cardinal read FVirtualRowCount write SetVirtualRowCount;
property Options: TsWorkbookOptions read FOptions write FOptions;
diff --git a/components/fpspreadsheet/fpspreadsheetgrid.pas b/components/fpspreadsheet/fpspreadsheetgrid.pas
index f483bb805..21d5d8265 100644
--- a/components/fpspreadsheet/fpspreadsheetgrid.pas
+++ b/components/fpspreadsheet/fpspreadsheetgrid.pas
@@ -923,7 +923,10 @@ procedure TsCustomWorksheetGrid.CreateNewWorkbook;
begin
FreeAndNil(FWorkbook);
FWorkbook := TsWorkbook.Create;
- FWorkbook.ReadFormulas := FReadFormulas;
+ if FReadFormulas then
+ FWorkbook.Options := FWorkbook.Options + [boReadFormulas]
+ else
+ FWorkbook.Options := FWorkbook.Options - [boReadFormulas];
SetAutoCalc(FAutoCalc);
end;
diff --git a/components/fpspreadsheet/tests/formulatests.pas b/components/fpspreadsheet/tests/formulatests.pas
index cc8b5492a..60bad8ec4 100644
--- a/components/fpspreadsheet/tests/formulatests.pas
+++ b/components/fpspreadsheet/tests/formulatests.pas
@@ -101,7 +101,7 @@ begin
// Open the spreadsheet
MyWorkbook := TsWorkbook.Create;
try
- MyWorkbook.ReadFormulas := true;
+ MyWorkbook.Options := MyWorkbook.Options + [boReadFormulas];
MyWorkbook.ReadFromFile(TempFile, AFormat);
if AFormat = sfExcel2 then
diff --git a/components/fpspreadsheet/tests/spreadtestgui.lpi b/components/fpspreadsheet/tests/spreadtestgui.lpi
index 7ffe3d091..873fd93e2 100644
--- a/components/fpspreadsheet/tests/spreadtestgui.lpi
+++ b/components/fpspreadsheet/tests/spreadtestgui.lpi
@@ -56,7 +56,6 @@
-
@@ -65,7 +64,6 @@
-
@@ -74,7 +72,6 @@
-
@@ -106,17 +103,14 @@
-
-
-
diff --git a/components/fpspreadsheet/xlsbiff2.pas b/components/fpspreadsheet/xlsbiff2.pas
index bbd1b2150..07da28268 100755
--- a/components/fpspreadsheet/xlsbiff2.pas
+++ b/components/fpspreadsheet/xlsbiff2.pas
@@ -605,7 +605,7 @@ begin
end;
{ Formula token array }
- if FWorkbook.ReadFormulas then begin
+ if boReadFormulas in FWorkbook.Options then begin
ok := ReadRPNTokenArray(AStream, cell);
if not ok then FWorksheet.WriteErrorValue(cell, errFormulaNotSupported);
end;
diff --git a/components/fpspreadsheet/xlscommon.pas b/components/fpspreadsheet/xlscommon.pas
index e45d8b84b..2d90b2b5e 100644
--- a/components/fpspreadsheet/xlscommon.pas
+++ b/components/fpspreadsheet/xlscommon.pas
@@ -1251,7 +1251,7 @@ begin
end;
{ Formula token array }
- if FWorkbook.ReadFormulas then begin
+ if boReadFormulas in FWorkbook.Options then begin
ok := ReadRPNTokenArray(AStream, cell);
if not ok then
FWorksheet.WriteErrorValue(cell, errFormulaNotSupported);