A pure PHP library for reading and writing spreadsheet files
Go to file
oleibman 9c8eeef96d
Xlsx Writer Unhides Explicitly Hidden Row in Filter Range - Minor Breaking Change (#2414)
Fix #1641. Excel allows explicit hiding of row after filter is applied, but PhpSpreadsheet automatically invokes showHideRows on all auto-filters, preventing users from doing the same. Change to invoke showHideRows only if it hasn't already been invoked, or if filter criteria have changed since it was last invoked. Autofilters read in from an existing spreadsheet are assumed to be already invoked.

This is potentially a breaking change, probably a minor one. The conditions to set up 1641 are probably uncommon, but users who meet those conditions and are happy with the current behavior will see a break. The new behavior is closer to how Excel itself behaves. A new method `reevaluateAutoFilters` is added to `Spreadsheet`; this can be used to restore the old behavior if desired. The new method is added to the documentation, along with a description of how the situation described in 1641 is handled in Excel and PhpSpreadsheet.

While examining Excel's behavior, it became evident that, although a filter is applied to an entire column, it is actually applied only to the rows that are populated when the filter is defined, as can be verified by examining the XML definition of the filter. When you re-apply the filter, rows that have been added since are considered. It would be useful to provide PhpSpreadsheet with a method to do the same. I have added, and documented, `setRangeToMaxRow` to `AutoFilter`.
2021-12-05 07:26:24 -08:00
.github Drop PHP 7.2 2021-11-01 12:01:54 +09:00
bin pre-commit for php-cs-fixer 3 2021-11-17 23:15:32 +09:00
docs Xlsx Writer Unhides Explicitly Hidden Row in Filter Range - Minor Breaking Change (#2414) 2021-12-05 07:26:24 -08:00
infra Locale Generator - Change to Use Unix Line Endings Even on Windows (#2174) 2021-06-19 10:20:16 +02:00
samples Update Jquery to V3.6 2021-11-24 09:12:46 +09:00
src/PhpSpreadsheet Xlsx Writer Unhides Explicitly Hidden Row in Filter Range - Minor Breaking Change (#2414) 2021-12-05 07:26:24 -08:00
tests Xlsx Writer Unhides Explicitly Hidden Row in Filter Range - Minor Breaking Change (#2414) 2021-12-05 07:26:24 -08:00
.gitattributes Additional language data, and improved automated build of translation files for Calculation Engine locale 2021-05-20 20:41:09 +02:00
.gitignore Make Documentation Updates Easier and More Accurate (#1573) 2021-02-15 20:50:20 +01:00
.php-cs-fixer.dist.php Preparation For php-cs-fixer Upgrade 2021-11-08 00:03:11 +09:00
.phpcs.xml.dist Move phpcs config to file 2020-07-26 14:48:06 +09:00
.scrutinizer.yml Scrutinizer wait shorter for coverage 2020-05-25 11:20:08 +09:00
CHANGELOG.PHPExcel.md Prefer https:// URLs when available in docs & comments 2018-10-28 13:55:00 +11:00
CHANGELOG.md 1.20.0 2021-11-24 00:23:42 +09:00
CONTRIBUTING.md Document release process 2021-03-30 10:11:46 +09:00
LICENSE Change license from LGPL 2.1 to MIT 2019-11-17 18:08:34 +01:00
README.md Drop Travis 2020-11-26 11:10:52 +09:00
composer.json Update all deps 2021-11-08 10:20:47 +09:00
composer.lock Bump friendsofphp/php-cs-fixer from 3.2.1 to 3.3.2 (#2424) 2021-12-03 09:54:10 -08:00
mkdocs.yml Make Documentation Updates Easier and More Accurate (#1573) 2021-02-15 20:50:20 +01:00
phpstan-baseline.neon Phpstan and Php8 Phase 1 (#2428) 2021-12-03 07:37:51 -08:00
phpstan-conditional.php Phpstan and Php8 Phase 1 (#2428) 2021-12-03 07:37:51 -08:00
phpstan.neon.dist Phpstan and Php8 Phase 1 (#2428) 2021-12-03 07:37:51 -08:00
phpunit.xml.dist Update Phpunit Configuration File 2021-11-18 13:02:20 +09:00

README.md

PhpSpreadsheet

Build Status Code Quality Code Coverage Total Downloads Latest Stable Version License Join the chat at https://gitter.im/PHPOffice/PhpSpreadsheet

PhpSpreadsheet is a library written in pure PHP and offers a set of classes that allow you to read and write various spreadsheet file formats such as Excel and LibreOffice Calc.

Documentation

Read more about it, including install instructions, in the official documentation. Or check out the API documentation.

Please ask your support questions on StackOverflow, or have a quick chat on Gitter.

PHPExcel vs PhpSpreadsheet ?

PhpSpreadsheet is the next version of PHPExcel. It breaks compatibility to dramatically improve the code base quality (namespaces, PSR compliance, use of latest PHP language features, etc.).

Because all efforts have shifted to PhpSpreadsheet, PHPExcel will no longer be maintained. All contributions for PHPExcel, patches and new features, should target PhpSpreadsheet master branch.

Do you need to migrate? There is an automated tool for that.

License

PhpSpreadsheet is licensed under MIT.