mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-08-20 03:40:43 +00:00
0cd725d000
* Automate Function-by-Name and Function-by-Category Docs Examining whether it is possible to analyze the 2 Php scripts in the bin directory even though they lack a .php extension, I found that the docs generated by `generate-document` had not been updated in over a year even though support for a number of functions (e.g. ARRAYTOTEXT) had long ago been implemented. The files generated by the other script `generate-locales` are automatically generated as part of the unit test suite, and I can't see any reason not to do the same for `generate-document`. It isn't totally clear that the 2 scripts in bin are needed any more now that each has an equivalent in the unit test suite. For now, I'm keeping them, and allowing them to be analyzed by phpcs, php-cs-fixer, and phpstan. * Reflection Not Required Remove it from bin scripts and DocumentGeneratorTest. * Better Html/Css Display for Function Lists * Redesign Features Cross Reference Doc It was inaccurate, and pretty much impossible to read in entirety. This version should be easier to read, and to correct. That's important, because there are almost certainly new inaccuracies in this version. * Add Html to Features Cross-Reference Readers
83 KiB
83 KiB
Features cross reference
- ✔ Supported
- ● Partially supported
- ✖ Not supported
- N/A Cannot be supported
Readers
| Readers | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| XLS | XLSX | Excel2003XML | Ods | Gnumeric | CSV | SYLK | HTML | ||
| Reader Options | ✔ | ✔ | ● | ● | ✔ | N/A | N/A | ✔ | |
| Read Data Only (no formatting) | ✔ | ✔ | ✖ | ✔ | ✔ | N/A | N/A | ✔ | |
| Read Only Specified Worksheets | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Read Only Specified Cells | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | |
| Document Properties | ● | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Standard Properties | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Creator | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Creation Date/Time | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Modifier | ✔ | ✔ | ✔ | N/A | N/A | N/A | N/A | ✔ | |
| Modified Date/Time | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | ✔ | |
| Title | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Description | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Subject | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Keywords | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | ✔ | |
| Extended Properties | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A | ✔ | |
| Category | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A | ✔ | |
| Company | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A | ✔ | |
| Manager | ✔ | ✔ | ✔ | N/A | ✔ | N/A | N/A | ✔ | |
| User-Defined (Custom) Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A | ✔ | |
| Text Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A | ✔ | |
| Number Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A | ✔ | |
| Date Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A | ✔ | |
| Yes/No (Boolean) Properties | ✖ | ✔ | ✔ | ✔ | N/A | N/A | N/A | ✔ | |
| Cell Data Types | |||||||||
| Empty/NULL | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Boolean | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Integer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Floating Point | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| String | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Error | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| Formula | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✖ | |
| Array | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Rich Text | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | |
| Conditional Formatting | ● | ✔ | ✖ | ✖ | ✖ | N/A | N/A | ✖ | |
| Rows and Column Properties | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | N/A | ✔ | |
| Row Height/Column Width | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | N/A | ✔ | |
| Hidden | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | N/A | ✔ | |
| Worksheet Properties | ● | ✔ | ● | ● | ✖ | N/A | N/A | ● | |
| Frozen Panes | ✔ | ✔ | ✔ | ✖ | ✖ | N/A | N/A | N/A | |
| Hidden Worksheets | ✔ | ✔ | ✖ | ✔ | ✖ | N/A | N/A | ● | |
| Coloured Tabs | ✖ | ✔ | ✖ | ✖ | ✖ | N/A | N/A | N/A | |
| Drawing hyperlink | ✖ | ✔ | ✖ | ✖ | ✖ | N/A | N/A | ✔ | |
| Cell Formatting | ✔ | ✔ | ● | ● | ✔ | N/A | ● | ● | |
| Number Format Mask | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Alignment | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✖ | ● | |
| Horizontal | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✖ | ✔ | |
| Vertical | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✖ | ✔ | |
| Wrapping | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✖ | ● | |
| Shrink-to-Fit | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✖ | ● | |
| Indent | ✔ | ✔ | ✖ | ✖ | ✔ | N/A | ✖ | ✔ | |
| Background Colour | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Patterned | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✖ | |
| Font Attributes | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Font Face | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Font Size | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Bold | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Italic | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Strikethrough | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Underline | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Superscript | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Subscript | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Borders | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ● | ✔ | |
| Line Style | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Position | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✔ | ✔ | |
| Diagonal | ✔ | ✔ | ✔ | ✖ | ✔ | N/A | ✖ | ✖ | |
| Hyperlinks | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✖ | ✔ | |
| http | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | ✖ | ✔ | |
| Merged Cells | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | ✖ | ✔ | |
| Cell Comments | ● | ● | ● | ● | ● | N/A | ● | ● | |
| Rich Text | ✖ 2 | ✔ | ✖ | ✖ | ● | N/A | N/A | ✖ | |
| Alignment | ✖ 3 | ✖ | ✖ | ✖ | ✖ | N/A | ✖ | ✖ | |
| Background Image | ✖ | ✔ | ✖ | ✖ | ✖ | N/A | ✖ | ✖ | |
| Cell Validation | ✔ | ✔ | ✖ | ✖ | ✖ | N/A | N/A | N/A | |
| AutoFilters | ● | ● | ● | ● | ● | N/A | N/A | N/A | |
| AutoFilter Expressions | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Filter | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Custom Filter | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Date Filter | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Dynamic Filter | ✔ | ✔ | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Colour Filter | ✖ | ✖ | ✖ | ✖ | ✖ | N/A | N/A | N/A | |
| Icon Filter | ✖ | ✖ | ✖ | ✖ | ✖ | N/A | N/A | N/A | |
| Top 10 Filter | ✖ | ✔ | ✖ | ✖ | ✖ | N/A | N/A | N/A | |
| Macros | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Form Controls | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Security | ● | ● | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Protection (prevent editing) | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Encryption (prevent viewing) | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| XLS | XLSX | Excel2003XML | Ods | Gnumeric | CSV | SYLK | HTML | ||
| Readers | |||||||||
- Only text contents
- Only BIFF8 files support Rich Text. Prior to that, comments could only be plain text
- Only BIFF8 files support alignment and rotation. Prior to that, comments could only be unformatted text
Writers
| Writers | |||||||
|---|---|---|---|---|---|---|---|
| XLS | XLSX | Ods | CSV | HTML | |||
| Document Properties | |||||||
| Standard Properties | |||||||
| Creator | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Creation Date/Time | ✔ | ✔ | ✔ | N/A | ✔ | ✖ | |
| Modifier | ✔ | ✔ | ✖ | N/A | ✔ | ✖ | |
| Modified Date/Time | ✔ | ✔ | ✖ | N/A | ✔ | ✖ | |
| Title | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Description | ✔ | ✔ | ✔ | N/A | ✔ | ✖ | |
| Subject | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Keywords | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Extended Properties | |||||||
| Category | ✔ | ✔ | ✖ | N/A | ✔ | ✖ | |
| Company | ✖ | ✔ | ✖ | N/A | ✔ | ✖ | |
| Manager | ✖ | ✔ | ✖ | N/A | ✔ | ✖ | |
| User-Defined (Custom) Properties | ✖ | ✔ | ✔ | N/A | ✔ | N/A | |
| Rich Text | ✔ | ✔ | ✖ | N/A | ✔ | ✔ | |
| Conditional Formatting | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | |
| Rows and Column Properties | |||||||
| Row Height/Column Width | ✔ | ✔ | ✖ | N/A | ✔ | ✔ | |
| Hidden | ✔ | ✔ | ✖ | N/A | ✔ | ✔ | |
| Worksheet Properties | |||||||
| Frozen Panes | ● | ✔ | ✖ | N/A | ✔ | ✖ | |
| Hidden Worksheets | ● | ✔ | ✖ | N/A | ✔ | ✖ | |
| Coloured Tabs | ✖ | ✔ | ✖ | N/A | ✖ | ✖ | |
| Drawing hyperlink | ✖ | ✔ | ✖ | N/A | ✖ | ✖ | |
| Cell Formatting | |||||||
| Number Format Mask | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Alignment | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Horizontal | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Vertical | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Wrapping | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Shrink-to-Fit | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Indent | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Background Colour | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Patterned | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Font Attributes | |||||||
| Font Face | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Font Size | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Bold | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Italic | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Strikethrough | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Underline | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Superscript | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Subscript | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Borders | |||||||
| Line Style | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Position | ✔ | ✔ | ✔ | N/A | ✔ | ✔ | |
| Diagonal | ✖ | ✔ | ✖ | N/A | ✖ | ✖ | |
| Hyperlinks | ✔ | ✔ | ✖ | N/A | ✔ | ✖ | |
| http | ✔ | ✔ | ✖ | N/A | ✔ | ✖ | |
| Merged Cells | ✔ | ✔ | ✖ | N/A | ✔ | ✖ | |
| Cell Comments | ✖ | ● | ● | N/A | ● 1 | N/A | |
| Rich Text | ✖ | ✔ | ✖ | N/A | ✖ | N/A | |
| Alignment | ✖ | ✖ | ✖ | N/A | ✖ | N/A | |
| Background Image | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | |
| Cell Validation | ✔ | ✔ | ✖ | N/A | N/A | N/A | |
| AutoFilters | |||||||
| AutoFilter Expressions | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Filter | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Custom Filter | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| DateGroup Filter | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Dynamic Filter | ✔ | ✔ | ✔ | N/A | N/A | N/A | |
| Colour Filter | ✖ | ✖ | ✖ | N/A | N/A | N/A | |
| Icon Filter | ✖ | ✖ | ✖ | N/A | N/A | N/A | |
| Top 10 Filter | ✖ | ✔ | ✖ | N/A | N/A | N/A | |
| Macros | ✖ | ✔ | ✖ | N/A | ✖ | ✖ | |
| Form Controls | ✖ | ✖ | ✖ | N/A | ✖ | ✖ | |
| Security | |||||||
| Protection (prevent editing) | ✔ | ✔ | ✖ | N/A | ✖ | ✖ | |
| Encryption (prevent viewing) | ✖ | ✖ | ✖ | N/A | ✖ | ✖ | |
| XLS | XLSX | Ods | CSV | HTML | |||
| Writers | |||||||
Setters and Getters
| Methods | ||
|---|---|---|
| Getters | Setters | |
| Reader Options | ||
| Read Data Only (no formatting) | $reader->getReadDataOnly() | $reader->setReadDataOnly() |
| Read Only Specified Worksheets | $reader->getLoadSheetsOnly() | $reader->setLoadSheetsOnly() $reader->setLoadAllSheets() |
| Read Only Specified Cells | $reader->getReadFilter() | $reader->setReadFilter() |
| Document Properties | ||
| Standard Properties | ||
| Creator | $spreadsheet->getProperties()->getCreator() | $spreadsheet->getProperties()->setCreator() |
| Creation Date/Time | $spreadsheet->getProperties()->getCreated() | $spreadsheet->getProperties()->setCreated() |
| Modifier | $spreadsheet->getProperties()->getLastModifiedBy() | $spreadsheet->getProperties()->setLastModifiedBy() |
| Modified Date/Time | $spreadsheet->getProperties()->getModified() | $spreadsheet->getProperties()->setModified() |
| Title | $spreadsheet->getProperties()->getTitle() | $spreadsheet->getProperties()->setTitle() |
| Description | $spreadsheet->getProperties()->getDescription() | $spreadsheet->getProperties()->setDescription() |
| Subject | $spreadsheet->getProperties()->getSubject() | $spreadsheet->getProperties()->setSubject() |
| Keywords | $spreadsheet->getProperties()->getKeywords() | $spreadsheet->getProperties()->setKeywords() |
| Extended Properties | ||
| Category | $spreadsheet->getProperties()->getCategory() | $spreadsheet->getProperties()->setCategory() |
| Company | $spreadsheet->getProperties()->getCompany() | $spreadsheet->getProperties()->setCompany() |
| Manager | $spreadsheet->getProperties()->getManager() | $spreadsheet->getProperties()->setManager() |
| User-Defined (Custom) Properties | $spreadsheet->getProperties()->getCustomProperties() $spreadsheet->getProperties()->isCustomPropertySet() $spreadsheet->getProperties()->getCustomPropertyValue() $spreadsheet->getProperties()->getCustomPropertyType() |
$spreadsheet->getProperties()->setCustomProperty() |
| Drawing hyperlink | $drawing->getHyperlink()->getUrl() | $drawing->setHyperlink()->setUrl($url) |
| Hyperlinks | $cell->getHyperlink()->getUrl($url) | $cell->getHyperlink()->setUrl($url) |
| Cell Comments | ||
| Background Image | $comment->getBackgroundImage() | $comment->setBackgroundImage() |
| Cell Validation | $cell->getDataValidation() | $cell->setDataValidation() |
| AutoFilters | $sheet->getAutoFilter() | $sheet->setAutoFilter() |
| Macros | $spreadsheet->getMacrosCode(); | $spreadsheet->setMacrosCode(); |
| Security | ||
| Protection (prevent editing) | $sheet->getProtection() | $sheet->getProtection()->setSheet(true) |
| Getters | Setters | |
| Methods | ||