PhpSpreadsheet/tests/PhpSpreadsheetTests
oleibman b6bd822b9c
Xlsx Reader Merge Range For Entire Column(s) or Row(s) (#2504)
* Xlsx Reader Merge Range For Entire Column(s) or Row(s)

Fix #2501. Merge range can be supplied as entire rows or columns, e.g. `1:1` or `A:C`. PhpSpreadsheet is expecting a row and a column to be specified for both parts of the range, and fails when the unexpected format shows up.

The code to clear cells within the merge range is very inefficient in terms of both memory and time, especially when the range is large (e.g. for an entire row or column). More efficient code is substituted. It is possible that we can get even more efficient by deleting the cleared cells rather than setting them to null. However, that needs more research, and there is no reason to delay this fix while I am researching.

When Xlsx Writer encounters a null cell, it writes it to the output file. For cell merges (especially involving whole rows or columns), this results in a lot of useless output. It is changed to skip the output of null cells when (a) the cell style matches its row's style, or (b) the row style is not specified and the cell style matches its column's style.

* Scrutinizer

See if these changes appease it.

* Improved CellIterators

Finally figured out how to improve efficiency here, meaning that there is no longer a reason to change Writer/Xlsx, so restore that.

* No Change for CellIterator

I had thought a change was needed for CellIterator, but it isn't.
2022-01-23 10:44:09 -08:00
..
Calculation Xlsx Reader Merge Range For Entire Column(s) or Row(s) (#2504) 2022-01-23 10:44:09 -08:00
Cell Read conditional styling for cell (#2491) 2022-01-22 19:18:26 +01:00
Chart DocBlock Changes for Chart/Title 2021-07-02 14:33:43 -07:00
Collection Resolve Deprecated setMethods() call when Mocking for tests (#1925) 2021-03-15 14:50:05 +01:00
Custom Reduce PHPStan error in tests 2021-04-12 11:10:23 +09:00
Document Correct Some Problems Which Will Show Up for PHP8.1 (#2191) 2021-06-29 19:54:08 +02:00
Features/AutoFilter/Xlsx Issue 2216 resolve office365 auto filter structure move (#2218) 2021-07-12 03:19:40 +02:00
Functional Replace Tests With Unneeded Mocking (#2465) 2021-12-31 13:24:43 -08:00
Helper PhpUnit and Jpgraph (#2307) 2021-09-26 09:39:15 -07:00
Reader Xlsx Reader Merge Range For Entire Column(s) or Row(s) (#2504) 2022-01-23 10:44:09 -08:00
Shared Tweaks to Input File Validation (#2217) 2021-07-24 20:44:04 -07:00
Style Read conditional styling for cell (#2491) 2022-01-22 19:18:26 +01:00
Worksheet Recalibrate Row/Column Dimensions After removeRow/Col (#2486) 2022-01-13 19:06:22 -08:00
Writer Read conditional styling for cell (#2491) 2022-01-22 19:18:26 +01:00
CommentTest.php Size validator for comment dimensions and margins 2020-11-02 21:24:27 +01:00
DefinedNameFormulaTest.php Reduce PHPStan error in tests 2021-04-12 11:10:23 +09:00
DefinedNameTest.php Reduce PHPStan error in tests 2021-04-12 11:10:23 +09:00
DocumentGeneratorTest.php Move documentation builder to infra so that it isn't included in non `--dev` composer downloads 2021-05-28 22:35:37 +02:00
HashTableTest.php Improve Coverage for HashTable, Fix Clone 2021-05-30 13:03:37 +02:00
IOFactoryTest.php Tweaks to Input File Validation (#2217) 2021-07-24 20:44:04 -07:00
LocaleGeneratorTest.php Fix phpcs, phpstan and scrutinizer issues 2021-05-28 22:35:37 +02:00
NamedFormulaTest.php Named formula implementation, and improved handling of Defined Names generally (#1535) 2020-07-26 12:00:06 +02:00
NamedRange2Test.php Validate Input to SetSelectedCells (#2280) 2021-09-11 06:55:00 -07:00
NamedRangeTest.php Named formula implementation, and improved handling of Defined Names generally (#1535) 2020-07-26 12:00:06 +02:00
ReferenceHelperTest.php Respect DataType in insertNewBefore (#2433) 2021-12-04 08:31:38 -08:00
SettingsTest.php Fix SettingsTest 2021-06-30 11:33:35 -07:00
SpreadsheetTest.php Reduce PHPStan error in tests 2021-04-12 11:10:23 +09:00