diff --git a/components/fpspreadsheet/examples/visual/zoom/zdmain.pas b/components/fpspreadsheet/examples/visual/zoom/zdmain.pas index 330f3108b..39d40f8e6 100644 --- a/components/fpspreadsheet/examples/visual/zoom/zdmain.pas +++ b/components/fpspreadsheet/examples/visual/zoom/zdmain.pas @@ -60,7 +60,10 @@ begin if FWorkbook <> nil then OpenDialog.InitialDir := ExtractFileDir(FWorkbook.FileName); if OpenDialog.Execute then begin - fmt := FOpenFormats[OpenDialog.FilterIndex-1]; + if OpenDialog.FilterIndex < 3 then + fmt := sfidUnknown + else + fmt := FOpenFormats[OpenDialog.FilterIndex - 3]; LoadFile(OpenDialog.FileName, fmt); end; end; @@ -97,6 +100,12 @@ procedure TMainForm.FormCreate(Sender: TObject); var priorityFormats: Array[0..7] of TsSpreadFormatID; begin + { + Grid.RowCount:=2; + Grid.ColCount:=2; + Grid.AutoExpand:= []; + } + priorityFormats[0] := ord(sfOOXML); priorityFormats[1] := ord(sfExcel8); priorityFormats[2] := ord(sfExcel5); diff --git a/components/fpspreadsheet/fpspreadsheet.pas b/components/fpspreadsheet/fpspreadsheet.pas index 02c4a31f3..88d56e46d 100755 --- a/components/fpspreadsheet/fpspreadsheet.pas +++ b/components/fpspreadsheet/fpspreadsheet.pas @@ -7392,6 +7392,11 @@ begin if not FileExists(AFileName) then raise Exception.CreateFmt(rsFileNotFound, [AFileName]); + if AFormatID = sfIDUnknown then begin + ReadFromFile(AFileName, AParams); + exit; + end; + AReader := CreateSpreadReader(self, AFormatID); try FFileName := AFileName;