Releases: PHPOffice/PhpSpreadsheet
Releases · PHPOffice/PhpSpreadsheet
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
1.27.1
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Fix Composer --dev dependency issue with dealerdirect/phpcodesniffer-composer-installer renaming their
master
branch tomain
1.27.0
Added
- Option to specify a range of columns/rows for the Row/Column
isEmpty()
methods PR #3315 - Option for Cell Iterator to return a null value or create and return a new cell when accessing a cell that doesn't exist PR #3314
- Support for Structured References in the Calculation Engine PR #3261
- Limited Support for Form Controls PR #3130 Issue #2396 Issue #1770 Issue #2388 Issue #2904 Issue #2661
Changed
- Nothing
Deprecated
- Nothing
Removed
- Shared/JAMA is removed. PR #3260
Fixed
- Namespace-Aware Code for SheetViewOptions, SheetProtection PR #3230
- Additional Method for XIRR if Newton-Raphson Doesn't Converge Issue #689 PR #3262
- Better Handling of Composite Charts Issue #2333 PR #3265
- Update Column Reference for Columns Beginning with Y and Z Issue #3263 PR #3264
- Honor Fit to 1-Page Height Html/Pdf Issue #3266 PR #3279
- AND/OR/XOR Handling of Literal Strings PR #3287
- Xls Reader Vertical Break and Writer Page Order Issue #3305 PR #3306
1.26.0
1.26.0 - 2022-12-21
Added
- Extended flag options for the Reader
load()
and Writersave()
methods - Apply Row/Column limits (1048576 and XFD) in ReferenceHelper PR #3213
- Allow the creation of In-Memory Drawings from a string of binary image data, or from a stream. PR #3157
- Xlsx Reader support for Tables PR #2829
- Permit Date/Time Entered on Spreadsheet to be calculated as Float Issue #1416 PR #3121
Changed
- Nothing
Deprecated
- Direct update of Calculation::suppressFormulaErrors is replaced with setter.
- Font public static variable defaultColumnWidths replaced with constant DEFAULT_COLUMN_WIDTHS.
- ExcelError public static variable errorCodes replaced with constant ERROR_CODES.
- NumberFormat constant FORMAT_DATE_YYYYMMDD2 replaced with existing identical FORMAT_DATE_YYYYMMDD.
Removed
- Nothing
Fixed
- Fixed handling for
_xlws
prefixed functions from Office365 Issue #3245 PR #3247 - Conditionals formatting rules applied to rows/columns are removed Issue #3184 PR #3213
- Treat strings containing currency or accounting values as floats in Calculation Engine operations Issue #3165 PR #3189
- Treat strings containing percentage values as floats in Calculation Engine operations Issue #3155 PR #3156 and PR #3164
- Xlsx Reader Accept Palette of Fewer than 64 Colors Issue #3093 PR #3096
- Use Locale-Independent Float Conversion for Xlsx Writer Custom Property Issue #3095 PR #3099
- Allow setting AutoFilter range on a single cell or row Issue #3102 PR #3111
- Xlsx Reader External Data Validations Flag Missing Issue #2677 PR #3078
- Reduces extra memory usage on
__destruct()
calls PR #3092 - Additional properties for Trendlines Issue #3011 PR #3028
- Calculation suppressFormulaErrors fix Issue #1531 PR #3092
- Permit Date/Time Entered on Spreadsheet to be Calculated as Float Issue #1416 PR #3121
- Incorrect Handling of Data Validation Formula Containing Ampersand Issue #3145 PR #3146
- Xlsx Namespace Handling of Drawings, RowAndColumnAttributes, MergeCells Issue #3138 PR #3136
- Generation3 Copy With Image in Footer Issue #3126 PR #3140
- MATCH Function Problems with Int/Float Compare and Wildcards Issue #3141 PR #3142
- Fix ODS Read Filter on number-columns-repeated cell Issue #3148 PR #3149
- Problems Formatting Very Small and Very Large Numbers Issue #3128 PR #3152
- XlsxWrite preserve line styles for y-axis, not just x-axis PR #3163
- Xlsx Namespace Handling of Drawings, RowAndColumnAttributes, MergeCells Issue #3138 PR #3137
- More Detail for Cyclic Error Messages Issue #3169 PR #3170
- Improved Documentation for Deprecations - many PRs Issue #3162
1.25.2 - 2022-09-25
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Composer dependency clash with ezyang/htmlpurifier
Change Log
1.25.1 Change Log
1.25.0 - 2022-09-25
Added
- Implementation of the new
TEXTBEFORE()
,TEXTAFTER()
andTEXTSPLIT()
Excel Functions - Implementation of the
ARRAYTOTEXT()
andVALUETOTEXT()
Excel Functions - Support for mitoteam/jpgraph implementation of
JpGraph library to render charts added. - Charts: Add Gradients, Transparency, Hidden Axes, Rounded Corners, Trendlines, Date Axes.
Changed
- Allow variant behaviour when merging cells Issue #3065
- Merge methods now allow an additional
$behaviour
argument. Permitted values are:- Worksheet::MERGE_CELL_CONTENT_EMPTY - Empty the content of the hidden cells (the default behaviour)
- Worksheet::MERGE_CELL_CONTENT_HIDE - Keep the content of the hidden cells
- Worksheet::MERGE_CELL_CONTENT_MERGE - Move the content of the hidden cells into the first cell
- Merge methods now allow an additional
Deprecated
- Axis getLineProperty deprecated in favor of getLineColorProperty.
- Moved majorGridlines and minorGridlines from Chart to Axis. Setting either in Chart constructor or through Chart methods, or getting either using Chart methods is deprecated.
- Chart::EXCEL_COLOR_TYPE_* copied from Properties to ChartColor; use in Properties is deprecated.
- ChartColor::EXCEL_COLOR_TYPE_ARGB deprecated in favor of EXCEL_COLOR_TYPE_RGB ("A" component was never allowed).
- Misspelled Properties::LINE_STYLE_DASH_SQUERE_DOT deprecated in favor of LINE_STYLE_DASH_SQUARE_DOT.
- Clone not permitted for Spreadsheet. Spreadsheet->copy() can be used instead.
Removed
- Nothing
Fixed
- Fix update to defined names when inserting/deleting rows/columns Issue #3076 PR #3077
- Fix DataValidation sqRef when inserting/deleting rows/columns Issue #3056 PR #3074
- Named ranges not usable as anchors in OFFSET function Issue #3013
- Fully flatten an array Issue #2955 PR #2956
- cellExists() and getCell() methods should support UTF-8 named cells Issue #2987 PR #2988
- Spreadsheet copy fixed, clone disabled. PR #2951
- Fix PDF problems with text rotation and paper size. Issue #1747 Issue #1713 PR #2960
- Limited support for chart titles as formulas Issue #2965 Issue #749 PR #2971
- Add Gradients, Transparency, and Hidden Axes to Chart Issue #2257 Issue #2229 Issue #2935 PR #2950
- Chart Support for Rounded Corners and Trendlines Issue #2968 Issue #2815 PR #2976
- Add setName Method for Chart Issue #2991 PR #3001
- Eliminate partial dependency on php-intl in StringHelper Issue #2982 PR #2994
- Minor changes for Pdf Issue #2999 PR #3002 PR #3006
- Html/Pdf Do net set background color for cells using (default) nofill PR #3016
- Add support for Date Axis to Chart Issue #2967 PR #3018
- Reconcile Differences Between Css and Excel for Cell Alignment PR #3048
- R1C1 Format Internationalization and Better Support for Relative Offsets Issue #1704 PR #3052
- Minor Fix for Percentage Formatting Issue #1929 PR #3053
1.24.1 - 2022-07-18
Added
- Add Chart Axis Option textRotation Issue #2705 PR #2940
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Fix Encoding issue with Html reader (PHP 8.2 deprecation for mb_convert_encoding) Issue #2942 PR #2943
- Additional Chart fixes
- Pie chart with part separated unwantedly Issue #2506 PR #2928
- Chart styling is lost on simple load / save process Issue #1797 Issue #2077 PR #2930
- Can't create contour chart (surface 2d) Issue #2931 PR #2933
- VLOOKUP Breaks When Array Contains Null Cells Issue #2934 PR #2939