# Features cross reference - ✔ Supported - ● Partially supported - ✖ Not supported - N/A Cannot be supported
| Readers | Writers | Methods | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| XLS | XLSX | XML (Excel2003XML) | Ods | Gnumeric | CSV | SYLK | XLS | XLSX | Ods | CSV | HTML | 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 | ✖ | |||||||||||||||
| Hidden Worksheets | ✔ | ✔ | ✔ | ✔ | N/A | |||||||||||
| 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 | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ||||||||||
| 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 | ||||
| Background Image | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | $comment->getBackgroundImage() | $comment->setBackgroundImage() | |
| 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 | Getters | Setters | |||
| Readers | Writers | Methods | ||||||||||||||