# Features cross reference - ✔ Supported - ● Partially supported - ✖ Not supported - N/A Cannot be supported

| Readers | Writers | Methods
--- | --- | --- | ---
| XLS | XLSX | Excel2003XML | Ods | Gnumeric | CSV | SYLK | XLS | XLSX | Ods | CSV | HTML | PDF | Getters | Setters
Reader Options | ✔ | ✔ | ● | ● | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |  |
Read Data Only (no formatting) | ✔ | ✔ | ✖ | ✖ | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | $reader->getReadDataOnly() | $reader->setReadDataOnly()
Read Only Specified Worksheets | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | $reader->getLoadSheetsOnly() | $reader->setLoadSheetsOnly() $reader->setLoadAllSheets()
Read Only Specified Cells | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | $reader->getReadFilter() | $reader->setReadFilter()
Document Properties | ● | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ● | ✔ | ✔ | N/A | N/A | ● |  |
Standard Properties | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | ✔ | ● | N/A | N/A | ● |  |
Creator | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | $spreadsheet->getProperties()->getCreator() | $spreadsheet->getProperties()->setCreator()
Creation Date/Time | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | ✔ | ✔ | N/A | N/A | ✖ | $spreadsheet->getProperties()->getCreated() | $spreadsheet->getProperties()->setCreated()
Modifier | ✔ | ✔ | ✔ | N/A | N/A | N/A | N/A | ✔ | ✔ | ✖ | N/A | N/A | ✖ | $spreadsheet->getProperties()->getLastModifiedBy() | $spreadsheet->getProperties()->setLastModifiedBy()
Modified Date/Time | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | ✔ | ✔ | ✖ | N/A | N/A | ✖ | $spreadsheet->getProperties()->getModified() | $spreadsheet->getProperties()->setModified()
Title | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | $spreadsheet->getProperties()->getTitle() | $spreadsheet->getProperties()->setTitle()
Description | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | ✔ | ✔ | N/A | N/A | ✖ | $spreadsheet->getProperties()->getDescription() | $spreadsheet->getProperties()->setDescription()
Subject | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | $spreadsheet->getProperties()->getSubject() | $spreadsheet->getProperties()->setSubject()
Keywords | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | $spreadsheet->getProperties()->getKeywords() | $spreadsheet->getProperties()->setKeywords()
Extended Properties | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A |  | ✔ | ● | N/A | N/A |  |  |
Category | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A |  | ✔ | ✔ | N/A | N/A |  | $spreadsheet->getProperties()->getCategory() | $spreadsheet->getProperties()->setCategory()
Company | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A |  | ✔ | ✔ | N/A | N/A |  | $spreadsheet->getProperties()->getCompany() | $spreadsheet->getProperties()->setCompany()
Manager | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A |  | ✔ | ✖ | N/A | N/A |  | $spreadsheet->getProperties()->getManager() | $spreadsheet->getProperties()->setManager()
User-Defined (Custom) Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A |  | ✔ | ✖ | N/A | N/A |  | $spreadsheet->getProperties()->getCustomProperties() $spreadsheet->getProperties()->isCustomPropertySet() $spreadsheet->getProperties()->getCustomPropertyValue() $spreadsheet->getProperties()->getCustomPropertyType() | $spreadsheet->getProperties()->setCustomProperty()
Text Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A |  | ✔ | ✖ | N/A | N/A |  |  |
Number Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A |  | ✔ | ✖ | N/A | N/A |  |  |
Date Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A |  | ✔ | ✖ | N/A | N/A |  |  |
Yes/No (Boolean) Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A |  | ✔ | ✖ | N/A | N/A |  |  |
Cell Data Types |  |  |  |  | ● |  |  | ● |  |  |  |  |  |  |
Empty/NULL |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Boolean |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Integer |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Floating Point |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
String |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Error |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Formula |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Array |  |  |  |  | ✖ |  |  |  |  |  |  |  |  |  |
Rich Text | ✔ | ✔ |  |  | ✖ | N/A |  | ✖ | ✔ |  | N/A |  |  |  |
Conditional Formatting | ✖ | ✔ |  |  |  | N/A |  | ✖ | ✔ | N/A |  |  |  |  |
Rows and Column Properties |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Row Height/Column Width |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Hidden |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Worksheet Properties |  |  |  |  | ✖ |  |  |  |  |  |  |  |  |  |
Frozen Panes |  |  |  |  | ✖ |  |  |  |  |  |  |  |  |  |
Coloured Tabs |  |  |  |  | N/A |  |  |  |  |  |  |  |  |  |
Drawing hyperlink |  | ✔ |  |  |  |  |  |  | ✔ |  |  |  |  | $drawing->getHyperlink()->getUrl() | $drawing->setHyperlink()->setUrl($url)
Cell Formatting |  |  |  |  | ● |  |  |  |  |  |  |  |  |  |
Number Format Mask | ✔ | ✔ |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Alignment |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Horizontal |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Vertical |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Wrapping |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Shring-to-Fit |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Indent |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Background Colour |  |  |  |  | ✔ |  |  |  |  |  |  | ● |  |  |
Patterned |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Font Attributes |  |  |  |  | ✔ |  |  |  |  | ● |  |  |  |  |
Font Face |  |  |  |  | ✔ |  |  |  |  | ✔ |  |  |  |  |
Font Size |  |  |  |  | ✔ |  |  |  |  | ✔ |  |  |  |  |
Bold |  |  |  |  | ✔ |  |  |  |  | ✔ |  |  |  |  |
Italic |  |  |  |  | ✔ |  |  |  |  | ✔ |  |  |  |  |
Strikethrough |  |  |  |  | ✔ |  |  |  |  | ✖ |  |  |  |  |
Underline |  |  |  |  | ✔ |  |  |  |  | ✔ |  |  |  |  |
Superscript |  |  |  |  | ✔ |  |  |  |  | ✖ |  |  |  |  |
Subscript |  |  |  |  | ✔ |  |  |  |  | ✖ |  |  |  |  |
Borders |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Line Style |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Position |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Diagonal |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Hyperlinks | ✔ | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ | ✔ | ✖ | $cell->getHyperlink()->getUrl($url) | $cell->getHyperlink()->setUrl($url)
http |  |  |  |  | ✖ |  |  |  |  |  |  |  |  |  |
Merged Cells |  |  |  |  | ✔ |  |  |  |  |  |  |  |  |  |
Cell Comments | ● | ● | ● | ● | ✔ | N/A | N/A | ✖ | ● | ● | N/A | ● 1 | N/A |  |
Rich Text | ✖ 2 | ✔ | ✖ | ✖ | N/A | N/A | N/A | ✖ | ✔ | ✖ | N/A |  | N/A |  |
Alignment | ✖ 3 | ✖ | ✖ | ✖ | N/A | N/A | N/A | ✖ | ✖ | ✖ | N/A |  | N/A |  |
Cell Validation | ✔ | ✔ | ✖ | ✖ | ✖ | N/A | N/A | ✔ | ✔ | ✖ | N/A | N/A | N/A | $cell->getDataValidation() | $cell->setDataValidation()
AutoFilters | ● | ● |  |  |  |  |  | ● | ● |  |  |  |  | $sheet->getAutoFilter() | $sheet->setAutoFilter()
AutoFilter Expressions | ✖ | ● |  |  |  |  |  | ✖ | ● |  |  |  |  |  |
Filter | ✖ | ✔ |  |  |  |  |  | ✖ | ✔ |  |  |  |  |  |
Custom Filter | ✖ | ✔ |  |  |  |  |  | ✖ | ✔ |  |  |  |  |  |
DateGroup Filter | ✖ | ✔ |  |  |  |  |  | ✖ | ✔ |  |  |  |  |  |
Dynamic Filter | ✖ | ✔ |  |  |  |  |  | ✖ | ✔ |  |  |  |  |  |
Colour Filter | ✖ | ✖ |  |  |  |  |  | ✖ | ✖ |  |  |  |  |  |
Icon Filter | ✖ | ✖ |  |  |  |  |  | ✖ | ✖ |  |  |  |  |  |
Top 10 Filter | ✖ | ✔ |  |  |  |  |  | ✖ | ✔ |  |  |  |  |  |
Macros | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | $spreadsheet->getMacrosCode(); | $spreadsheet->setMacrosCode();
Form Controls | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖
Security | ● | ● | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖
Protection (prevent editing) | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | $sheet->getProtection() | $sheet->getProtection()->setSheet(true)
Encryption (prevent viewing) | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |  |
| XLS | XLSX | Excel2003XML | Ods | Gnumeric | CSV | SYLK | XLS | XLSX | Ods | CSV | HTML | PDF | Getters | Setters
| Readers | Writers | Methods

1. Only text contents 2. Only BIFF8 files support Rich Text. Prior to that, comments could only be plain text 3. Only BIFF8 files support alignment and rotation. Prior to that, comments could only be unformatted text