About the fpsallformats unit. Removing it causes error on Linux, I've just tested it. I use Linux.Just to put this right. fpsallformats has nothing to do with Linux or Windows or so. fpspreadsheet supports a variety of spreadsheet file formats; for each format there is a unit with the code for the reader/writer class. In order to avoid blowing up a program by unused code each format must be registered by adding its reader/writer unit to the uses clause of a project unit. So, when some one only wants to read xlsx files it is sufficient to added the corresponding unit xlsxooxml to uses. For LibreOffice Calc's ods it is fpsOpenDocument, and for old binary Excel (Excel 97) it is xlsBiff8, or xlsbiff5 for Excel95 or xlsbiff2 for really very old Excel 2.1, etc. Alternatively you can add fpsallformats which registers all file formats to your program (but as I said: this will add code for the reader/writers for wiki, html, Excel2.1, and Excel 95 which you probably will not use).