PhpSpreadsheet/tests/PhpSpreadsheetTests
oleibman db57af0c7f
Fix Chart Problems and Memory Leak in Xlsx Writer (#2930)
This was supposed to be mopping up some longstanding chart issues. But one of the sample files exposed a memory leak in Xlsx Writer, unrelated to charts. Since that is my best sample file for this problem, I would like to fix both problems at the same time.

Xlsx Writer for Worksheets calls getRowDimension for all rows on the sheet. As it happens, the sample file had data in the last rows after a huge gap of rows without any data. It correctly did not write anything for the unused rows. However, the call to getRowDimension actually creates a new RowDimension object if it doesn't already exist, and so it wound up creating over a million totally unneeded objects. This caused it to run out of memory when I tried to make a copy of the 8K input file. The logic is changed to call getRowDimension if and only if (there is data in the row or the RowDimension object already exists). It still has to loop through a million rows, but it no longer allocates the unneeded storage.

As for the Chart problems - fix #1797. This is where the file that caused the memory leak originated. Many of its problems were already resolved by the earlier large set of changes to Charts. However, there were a few new properties that needed to be added to Layout to make things complete - numberFormat code and source-linked, and dLblPos (position for labels); and autoTitleDeleted needs to be added to Charts.

Also fix #2077, by allowing the format to be specified in the Layout rather than the DataSeriesValues constructor.
2022-07-14 08:30:36 -07:00
..
Calculation Keep Calculated String Results Below 32K (#2921) 2022-07-04 08:30:46 -07:00
Cell Add functionality to adjust CellRange by "modifying" the from/to CellAddress Value objects 2022-04-01 15:41:55 +02:00
Chart Fix Chart Problems and Memory Leak in Xlsx Writer (#2930) 2022-07-14 08:30:36 -07:00
Collection More significant reductions in memory usage for peaks, and faster execution times for key Cell Collection methods 2022-04-30 17:07:24 +02:00
Custom Reduce PHPStan error in tests 2021-04-12 11:10:23 +09:00
Document Fix Fluke Failure in Document Properties Test (#2738) 2022-04-17 08:44:29 -07:00
Features/AutoFilter/Xlsx Issue 2216 resolve office365 auto filter structure move (#2218) 2021-07-12 03:19:40 +02:00
Functional Some Fixes for Scatter Charts (#2828) 2022-05-17 07:48:24 -07:00
Helper Html Reader Converting Cell Containing 0 to Null String (#2813) 2022-05-10 07:33:45 -07:00
Reader Move Gridlines from Chart to Axis (#2923) 2022-07-07 21:48:12 -07:00
Shared Php/iconv Should Not Treat FFFE/FFFF as Valid (#2910) 2022-07-02 08:53:39 -07:00
Style Coverage Improvements (#2859) 2022-06-01 08:29:56 -07:00
Worksheet New functionality to allow checking whether a row or column is "empty", with flags to allow variation in the definition of "empty" 2022-06-07 20:22:33 +02:00
Writer Additional Support for Chart DataSeriesValues (#2906) 2022-06-29 17:52:09 -07:00
CellReferenceHelperTest.php Provide $includeAbsoluteReferences option for the CellReferenceHelper when updating cell addresses 2022-03-16 19:14:50 +01:00
CommentTest.php phpcs fxes 2022-06-14 12:19:54 +02: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 Allow Reader format identification to use a subset of possible Readers 2022-04-19 14:24:53 +02:00
LocaleGeneratorTest.php Fix phpcs, phpstan and scrutinizer issues 2021-05-28 22:35:37 +02:00
NamedFormulaTest.php Phpstan Differences from Php7 to Php8, Again (#2665) 2022-03-11 23:28:30 -08:00
NamedRange2Test.php Validate Input to SetSelectedCells (#2280) 2021-09-11 06:55:00 -07:00
NamedRangeTest.php Phpstan Differences from Php7 to Php8, Again (#2665) 2022-03-11 23:28:30 -08:00
ReferenceHelperTest.php More unit testing for inserting/deleting rows/columns with DataValidation, ConditionalFormatting and PrintArea 2022-03-17 15:48:30 +01:00
RichTextTest.php Coverage Improvements (#2859) 2022-06-01 08:29:56 -07:00
SettingsTest.php Fix SettingsTest 2021-06-30 11:33:35 -07:00
SpreadsheetTest.php FIX: Invalid styles in rowDimensions of added external sheet. 2022-04-12 13:38:19 +02:00