PhpSpreadsheet/tests/PhpSpreadsheetTests/Reader/Xlsx
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
..
AbsolutePathTest.php Remove unnecessary changes. Added test 2021-04-19 11:25:48 +01:00
AutoFilterEvaluateTest.php Xlsx Writer Unhides Explicitly Hidden Row in Filter Range - Minor Breaking Change (#2414) 2021-12-05 07:26:24 -08:00
AutoFilterTest.php Reduce PHPStan error in tests 2021-04-12 11:10:23 +09:00
ChartsTitleTest.php DocBlock Changes for Chart/Title 2021-07-02 14:33:43 -07:00
ColorTabTest.php Xlsx Reader Theme Support Broken After 17.1 (#2403) 2021-11-26 09:38:09 -08:00
CommentTest.php Corrections for Xlsx Read Comments (#2329) 2021-10-23 17:32:44 -07:00
CondNumFmtTest.php Move Reader Xlsx Tests from Reader to Reader/Xlsx Try 2 2021-06-17 09:45:11 -07:00
ConditionalFormattingDataBarXlsxTest.php Reduce PHPStan error in tests 2021-04-12 11:10:23 +09:00
ConditionalTest.php #984 fix php-cs-fixer warnings 2021-05-11 12:44:40 +02:00
CoverageGapsTest.php Xlsx Reader Theme Support Broken After 17.1 (#2403) 2021-11-26 09:38:09 -08:00
DataValidationBooleanValue.php Fix test names per `composer check` 2021-07-21 05:53:49 -07:00
DefaultFillTest.php Resolve issue with conditional font size set to zero in PHP8 (#2073) 2021-05-07 12:53:59 +02:00
DefaultFontTest.php Resolve issue with conditional font size set to zero in PHP8 (#2073) 2021-05-07 12:53:59 +02:00
DrawingOneCellAnchorTest.php Fix loading drawing size (#2492) 2022-01-16 21:59:31 -08:00
EmptyFileTest.php Tweaks to Input File Validation (#2217) 2021-07-24 20:44:04 -07:00
ExplicitDateTest.php Handle Explicit "Date" Type for Cell (#2485) 2022-01-13 18:40:18 -08:00
HyperlinkTest.php Hyperlinks and Namespacing (#2391) 2021-11-14 10:27:59 -08:00
InvalidFileTest.php Tweaks to Input File Validation (#2217) 2021-07-24 20:44:04 -07:00
Issue2301Test.php Xlsx Reader Better Namespace Handling Phase 1 Second Bugfix (#2303) 2021-09-27 16:59:45 -07:00
Issue2331Test.php Unexpected Format in Timestamp (#2332) 2021-10-23 18:23:53 -07:00
Issue2362Test.php ZipArchive and "Inconsistent" Zip File (#2376) 2021-11-12 01:18:57 -08:00
Issue2387Test.php Xlsx Reader Theme Support Broken After 17.1 (#2403) 2021-11-26 09:38:09 -08:00
Issue2450Test.php General Style Specified in Uppercase in Input Xlsx (#2451) 2021-12-18 09:25:08 -08:00
Issue2488Test.php Xlsx Reader Cell DataType Numeric or Boolean Without Value (#2489) 2022-01-16 21:19:09 -08:00
Issue2501Test.php Xlsx Reader Merge Range For Entire Column(s) or Row(s) (#2504) 2022-01-23 10:44:09 -08:00
NamedRangeTest.php Fix for 3 Issues Involving ReadXlsx and NamedRange (#1742) 2020-12-10 18:08:10 +01:00
NamespaceIssue2109bTest.php Rename Two Test Files (#2459) 2021-12-25 09:05:54 -08:00
NamespaceNonStdTest.php Xlsx Reader Better Namespace Handling Phase 1 Try2 (#2173) 2021-06-25 09:05:49 +02:00
NamespaceOpenpyxl35Test.php Rename Two Test Files (#2459) 2021-12-25 09:05:54 -08:00
NamespacePurlTest.php Xlsx Reader Better Namespace Handling Phase 1 Try2 (#2173) 2021-06-25 09:05:49 +02:00
NamespaceStdTest.php Xlsx Reader Better Namespace Handling Phase 1 Try2 (#2173) 2021-06-25 09:05:49 +02:00
OctothorpeTest.php Read Spreadsheet with # in Name (#2409) 2021-11-30 07:39:50 -08:00
OddColumnReadFilter.php Merge branch 'master' into PHP8-Sane-Property-Names 2021-10-31 15:25:01 +09:00
PageSetupTest.php Stricter visibility 2020-07-19 12:30:31 +09:00
PropertiesTest.php Document Properties - Coverage and 32-bit-safe Timestamps (#2113) 2021-05-30 13:55:58 +02:00
SharedFormulaTest.php Xlsx Reader Better Namespace Handling Phase 1 First Bugfix (#2204) 2021-07-02 12:36:54 +02:00
SheetsXlsxChartTest.php Move Reader Xlsx Tests from Reader to Reader/Xlsx Try 2 2021-06-17 09:45:11 -07:00
URLImageTest.php Allow Skipping One Unit Test (#2402) 2021-11-19 14:24:42 -08:00
WorksheetInfoNamesTest.php Xlsx Reader Better Namespace Handling Phase 1 Try2 (#2173) 2021-06-25 09:05:49 +02:00
Xlsx2Test.php Read conditional styling for cell (#2491) 2022-01-22 19:18:26 +01:00
XlsxTest.php Fix Reading XLSX files without styles.xml throws an exception. (#2247) 2021-08-16 05:05:32 -07:00