Releases: PHPOffice/PhpSpreadsheet
Releases · PHPOffice/PhpSpreadsheet
2.1.1
2024-09-29 2.1.1
Fixed
- Backported security patches.
- Change to Csv Reader (see below under Deprecated). Backport of PR #4162 intended for 3.0.0. Issue #4161
- Tweak to AMORDEGRC. Backport of PR #4164 intended for 3.0.0.
Changed
- Images will not be added to spreadsheet if they cannot be validated as images.
Deprecated
- Php8.4 will deprecate the escape parameter of fgetcsv. Csv Reader is affected by this; code is changed to be unaffected, but this will mean a breaking change is coming with Php9. Any code which uses the default escape value of backslash will fail in Php9. It is recommended to explicitly set the escape value to null string before then.
1.29.2
1.29.2 - 2024-09-29
Fixed
- Backported security patches.
- Support for Php8.4.
- Change to Csv Reader (see below under Deprecated). Backport of PR #4162 intended for 3.0.0. Issue #4161
- Tweaks to ROUNDUP, ROUNDDOWN, TRUNC, AMORDEGRC (results had been different under 8.4).
Changed
- Images will not be added to spreadsheet if they cannot be validated as images.
Security Patch
2.2.2
Added
- Nothing yet.
Changed
- Nothing yet.
Deprecated
- Nothing yet.
Moved
- Nothing yet.
Fixed
- Html Reader Preserve Unicode Whitespace. Issue #1284 PR #4106
- RATE Function Floating Point Number of Periods. PR #4107
- Parameter Name Change Xlsx Writer Workbook. Issue #4108 PR #4111
- New Algorithm for TRUNC, ROUNDUP, ROUNDDOWN. Issue #4113 PR #4115
- Worksheet applyStylesFromArray Retain Active Cell (Excel 16 was having a problem with some files). Issue #4128 PR #4132
2.2.1
Security Fix
- Prevent XXE when loading files PR #4119
Fixed
- Add Sheet may leave Active Sheet uninitialized. Issue #4112 PR #4114
- Reference to Defined Name Specifying Worksheet. Issue #206 PR #4096
- Xls Reader Print/Show Gridlines. Issue #912 PR #4098
- ODS Reader Allow Omission of Page Settings Tags. Issue #4099 PR #4101
2.2.0
2024-07-24 - 2.2.0
Added
- Xlsx Reader Optionally Ignore Rows With No Cells. Issue #3982 PR #4035
- Means to change style without affecting current cell/sheet. PR #4073
- Option for CSV output file to have varying numbers of columns for each row. Issue #1415 PR #4076
Changed
- On read, Xlsx Reader had been breaking up union ranges into separate individual ranges. It will now try to preserve range as it was read in. PR #4042
- Xlsx/Xls spreadsheet calculation and formatting of dates will use base date of spreadsheet even when spreadsheets with different base dates are simultaneously open. Issue #1036 Issue #1635 PR #4071
Deprecated
- Writer\Xls\Style\ColorMap is no longer needed.
Moved
- Nothing
Fixed
- Incorrect Reader CSV with BOM. Issue #4028 PR #4029
- POWER Null/Bool Args. PR #4031
- Do Not Output Alignment and Protection for Conditional Format. Issue #4025 PR #4027
- Conditional Color Scale Improvements. Issue #4049 PR #4050
- Mpdf and Tcpdf Borders on Merged Cells. Issue #3557 PR #4047
- Xls Conditional Format Improvements. PR #4030 PR #4033
- Conditional Range Unions and Intersections Issue #4039 PR #4042
- Ods comments with newlines. Issue #4081 PR #4086
- Propagate errors in Text functions. Issue #2581 PR #4080
- Csv Reader allow use of html mimetype. Issue #4036 PR #4040
- Problem rendering line chart with missing plot label. PR #4074
- More RTL in Xlsx/Html Comments Issue #4004 PR #4065
- Empty String in sharedStrings. Issue #4063 PR #4064
- Xlsx Writer RichText and TYPE_STRING. Issue #476 PR #4094
- Ods boolean data. Issue #460 PR #4093
- Html Writer Minor Fixes. PR #4089
- Changes to INDEX function. Issue #64 PR #4088
- Ods Reader and Whitespace Text Nodes. Issue #804 PR #4087
- Ods Xml Reader and Whitespace Text Nodes. Issue #804 PR #4087
- Treat invalid formulas as strings. Issue #1310 PR #4073
2.1.0
MINOR BREAKING CHANGE
- Writing of cell comments to Html will now sanitize all Html tags within the comment, so the tags will be rendered as plaintext and have no other effects when rendered. Styling can be achieved by using the Font property of of the TextRuns which make up the comment, as is already the cases for Xlsx. PR #3957
Added
- Default Style Alignment Property (workaround for bug in non-Excel spreadsheet apps) Issue #3918 PR #3924
- Additional Support for Date/Time Styles PR #3939
Changed
- Nothing
Deprecated
- Reader/Xml trySimpleXMLLoadString should not have had public visibility, and will be removed.
Removed
- Nothing
Fixed
- IF Empty Arguments. Issue #3875 Issue #2146 PR #3879
- Changes to floating point in Php8.4. Issue #3896 PR #3897
- Handling User-supplied Decimal and Thousands Separators. Issue #3900 PR #3903
- Improve Performance of CSV Writer. Issue #3904 PR #3906
- Fix issue with prepending zero in percentage Issue #3920 PR #3921
- Incorrect SUMPRODUCT Calculation Issue #3909 PR #3916
- Formula Misidentifying Text as Cell After Insertion/Deletion Issue #3907 PR #3915
- Unexpected Absolute Address in Xlsx Rels Issue #3730 PR #3923
- Unallocated Cells Affected by Column/Row Insert/Delete Issue #3933 PR #3940
- Invalid Builtin Defined Name in Xls Reader Issue #3935 PR #3942
- Hidden Rows and Columns Tcpdf/Mpdf PR #3945
- RTL Text Alignment in Xlsx Comments Issue #4004 PR #4006
- Protect Sheet But Allow Sort Issue #3951 PR #3956
- Default Value for Conditional::$text PR #3946
- Table Filter Buttons Issue #3988 PR #3992
- Improvements to Xml Reader Issue #3999 Issue #4000 Issue #4001 Issue #4002 PR #4003 PR #4007
- Html Reader non-UTF8 Issue #3995 Issue #866 Issue #1681 PR #4019
2.0.0
BREAKING CHANGE
- Typing was strengthened by leveraging native typing. This should not change any behavior. However, if you implement
any interfaces or inherit from any classes, you will need to adapt your typing accordingly. If you use static analysis
tools such as PHPStan or Psalm, new errors might be found. If you find actual bugs because of the new typing, please
open a PR that fixes it with a detailed explanation of the reason. We'll try to merge and release typing-related
fixes quickly in the coming days. PR #3718 - All deprecated things have been removed, for details, see 816b91d0b4
Added
- Split screens (Xlsx and Xml only, not 100% complete). Issue #3601 PR #3622
- Permit Meta Viewport in Html. Issue #3565 PR #3623
- Hyperlink support for Ods. Issue #3660 PR #3669
- ListWorksheetInfo/Names for Html/Csv/Slk. Issue #3706 PR #3709
- Methods to determine if cell is actually locked, or hidden on formula bar. PR #3722
- Add iterateOnlyExistingCells to Constructors. Issue #3721 PR #3727
- Support for Conditional Formatting Color Scale. PR #3738
- Support Additional Tags in Helper/Html. Issue #3751 PR #3752
- Writer ODS : Write Border Style for cells Issue #3690 PR #3693
- Sheet Background Images Issue #1649 PR #3795
- Check if Coordinate is Inside Range PR #3779
- Flipping Images Issue #731 PR #3801
- Chart Dynamic Title and Font Properties Issue #3797 PR #3800
- Chart Axis Display Units and Logarithmic Scale. Issue #3833 PR #3836
- Partial Support of Fill Handles. Discussion #3847 PR #3855
Changed
- Drop support for PHP 7.4, according to https://phpspreadsheet.readthedocs.io/en/latest/#php-version-support PR #3713
- RLM Added to NumberFormatter Currency. This happens depending on release of ICU which Php is using (it does not yet happen with any official release). PhpSpreadsheet will continue to use the value returned by Php, but a method is added to keep the result unchanged from release to release. Issue #3571 PR #3640
toFormattedString
will now always return a string. This was introduced with 1.28.0, but was not properly documented at the time. This can affect the results oftoArray
,namedRangeToArray
, andrangeToArray
. PR #3304- Value of constants FORMAT_CURRENCY_EUR and FORMAT_CURRENCY_USD was changed in 1.28.0, but was not properly documented at the time. Issue #3577
- Html Writer will attempt to use Chart coordinates to determine image size. Issue #3783 PR #3787
Deprecated
- Functions
_translateFormulaToLocale
and_translateFormulaEnglish
are replaced by versions without leading underscore. PR #3828
Removed
- Nothing
Fixed
- Take advantage of mitoteam/jpgraph Extended mode to enable rendering of more graphs. PR #3603
- Column widths, especially for ODS. Issue #3609 PR #3610
- Avoid NULL in String Function call (partial solution). Issue #3613 PR #3617
- Preserve transparency in Memory Drawing. Issue #3624 PR #3627
- Customizable padding for Exact Column Width. Issue #3626 PR #3628
- Ensure ROW function returns int (problem exposed in unreleased Php). PR #3641
- Minor changes to Mpdf and Html Writers. PR #3645
- Xlsx Reader Namespacing for Tables, Autofilters. Issue #3665 PR #3668
- Read Code Page for Xls ListWorksheetInfo/Names BIFF5. Issue #3671 PR #3672
- Read Data from Table on Different Sheet. Issue #3635 PR #3659
- Html Writer Styles Using Inline Css. Issue #3678 PR #3680
- Xlsx Read Ignoring Some Comments. Issue #3654 PR #3655
- Fractional Seconds in Date/Time Values. PR #3677
- SetCalculatedValue Avoid Casting String to Numeric. Issue #3658 PR #3685
- Several Problems in a Very Complicated Spreadsheet. Issue #3679 PR #3681
- Inconsistent String Handling for Sum Functions. Issue #3652 PR #3653
- Recomputation of Relative Addresses in Defined Names. Issue #3661 PR #3673
- Writer Xls Characters Outside BMP (emojis). Issue #642 PR #3696
- Xlsx Reader Improve Handling of Row and Column Styles. Issue #3533 Issue #3534 PR #3688
- Avoid Allocating RowDimension Unneccesarily. PR #3686
- Use Column Style when Row Dimension Exists Without Style. Issue #3534 PR #3688
- Inconsistency Between Cell Data and Explicitly Declared Type. Issue #3711 PR #3715
- Unexpected Namespacing in rels File. Issue #3720 PR #3722
- Break Some Circular References. PR #3716 PR #3707
- Missing Font Index in Some Xls. PR #3734
- Load Tables even with READ_DATA_ONLY. PR #3726
- Theme File Missing but Referenced in Spreadsheet. Issue #3770 PR #3772
- Slk Shared Formulas. Issue #2267 PR #3776
- Html omitting some charts. Issue #3767 PR #3771
- Case Insensitive Comparison for Sheet Names PR #3791
- Performance improvement for Xlsx Reader. Issue #3683 [PR #3810](https...
1.29.0
Added
- Wizards for defining Number Format masks for Dates and Times, including Durations/Intervals. PR #3458
- Specify data type in html tags. Issue #3444 PR #3445
- Provide option to ignore hidden rows/columns in
toArray()
methods. PR #3494 - Font/Effects/Theme support for Chart Data Labels and Axis. PR #3476
- Font Themes support. PR #3486
- Ability to Ignore Cell Errors in Excel. Issue #1141 PR #3508
- Unzipped Gnumeric file PR #3591
Changed
- Xlsx Color schemes read in will be written out (previously Excel 2007-2010 Color scheme was always written); manipulation of those schemes before write, including restoring prior behavior, is provided PR #3476
- Memory and speed optimisations for Read Filters with Xlsx Files and Shared Formulae. PR #3474
- Allow
CellRange
andCellAddress
objects for therange
argument in therangeToArray()
method. PR #3494 - Stock charts will now read and reproduce
upDownBars
and subsidiary tags; these were previously ignored on read and hard-coded on write. PR #3515
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Updates Cell formula absolute ranges/references, and Defined Name absolute ranges/references when inserting/deleting rows/columns. Issue #3368 PR #3402
- EOMONTH() and EDATE() Functions should round date value before evaluation. Issue #3436 PR #3437
- NETWORKDAYS function erroneously being converted to NETWORK_xlfn.DAYS in Xlsx Writer. Issue #3461 PR #3463
- Getting a style for a CellAddress instance fails if the worksheet is set in the CellAddress instance. Issue #3439 PR #3469
- Shared Formulae outside the filter range when reading with a filter are not always being identified. Issue #3473 PR #3474
- Xls Reader Conditional Styles. PR #3400
- Allow use of # and 0 digit placeholders in fraction masks. PR #3401
- Modify Date/Time check in the NumberFormatter for decimal/fractional times. PR #3413
- Misplaced Xml Writing Chart Label FillColor. Issue #3397 PR #3404
- TEXT function ignores Time in DateTimeStamp. Issue #3409 PR #3411
- Xlsx Column Autosize Approximate for CJK. Issue #3405 PR #3416
- Correct Xlsx Parsing of quotePrefix="0". Issue #3435 PR #3438
- More Display Options for Chart Axis and Legend. Issue #3414 PR #3434
- Apply strict type checking to Complex suffix. PR #3452
- Incorrect Font Color Read Xlsx Rich Text Indexed Color Custom Palette. Issue #3464 PR #3465
- Xlsx Writer Honor Alignment in Default Font. Issue #3443 PR #3459
- Support Border for Charts. PR #3462
- Error in "this row" structured reference calculation (cached result from first row when using a range) Issue #3504 PR #3505
- Allow colour palette index references in Number Format masks Issue #3511 PR #3512
- Xlsx Reader formula with quotePrefix Issue #3495 PR #3497
- Handle REF error as part of range Issue #3453 PR #3467
- Handle Absolute Pathnames in Rels File Issue #3553 PR #3554
- Return Page Breaks in Order Issue #3552 PR #3555
- Add position attribute for MemoryDrawing in Html [Issue #3529](#3529 PR #3535
- Allow Index_number as Array for VLOOKUP/HLOOKUP [Issue #3561](#3561 PR #3570
- Add Unsupported Options in Xml Spreadsheet [Issue #3566](#3566 [Issue #3568](#3568 [Issue #3569](#3569 PR #3567
- Changes to NUMBERVALUE, VALUE, DATEVALUE, TIMEVALUE [Issue #3574](#3574 PR #3575
- Redo calculation of color tinting Issue #3550 PR #3580
- Accommodate Slash with preg_quote PR #3582 PR #3583 PR #3584
- HyperlinkBase Property and Html Handling of Properties Issue #3573 PR #3589
- Improvements for Data Validation Issue #3592 Issue #3594 PR #3605
1.28.0
1.28.0 - 2023-02-25
Added
- Support for configuring a Chart Title's overlay PR #3325
- Wizards for defining Number Format masks for Numbers, Percentages, Scientific, Currency and Accounting PR #3334
- Support for fixed value divisor in fractional Number Format Masks PR #3339
- Allow More Fonts/Fontnames for Exact Width Calculation PR #3326 Issue #3190
- Allow override of the Value Binder when setting a Cell value PR #3361
Changed
- Improved handling for @ placeholder in Number Format Masks PR #3344
- Improved handling for ? placeholder in Number Format Masks PR #3394
- Improved support for locale settings and currency codes when matching formatted strings to numerics in the Calculation Engine PR #3373 and PR #3374
- Improved support for locale settings and matching in the Advanced Value Binder PR #3376
Deprecated
- Rationalisation of Pre-defined Currency Format Masks
Removed
- Nothing
Fixed
- Calculation Engine doesn't evaluate Defined Name when default cell A1 is quote-prefixed Issue #3335 PR #3336
- XLSX Writer - Array Formulas do not include function prefix Issue #3337 PR #3338
- Permit Max Column for Row Breaks Issue #3143 PR #3345
- AutoSize Columns should allow for dropdown icon when AutoFilter is for a Table Issue #3356 PR #3358 and for Center Alignment of Headers Issue #3395 PR #3399
- Decimal Precision for Scientific Number Format Mask Issue #3381 PR #3382
- Xls Writer Parser Handle Boolean Literals as Function Arguments Issue #3369 PR #3391
- Conditional Formatting Improvements for Xlsx Issue #3370 Issue #3202 PR #3372
- Coerce Bool to Int for Mathematical Operations on Arrays Issue #3389 Issue #3396 PR #3392