Releases: PHPOffice/PhpSpreadsheet
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
1.24.0 - 2022-07-09
Note that this will be the last 1.x branch release before the 2.x release. We will maintain both branches in parallel for a time; but users are requested to update to version 2.0 once that is fully available.
Added
-
Added
removeComment()
method for Worksheet PR #2875 -
Add point size option for scatter charts Issue #2298 PR #2801
-
Basic support for Xlsx reading/writing Chart Sheets PR #2830
Note that a ChartSheet is still only written as a normal Worksheet containing a single chart, not as an actual ChartSheet.
-
Added Worksheet visibility in Ods Reader PR #2851 and Gnumeric Reader PR #2853
-
Added Worksheet visibility in Ods Writer PR #2850
-
Allow Csv Reader to treat string as contents of file Issue #1285 PR #2792
-
Allow Csv Reader to store null string rather than leave cell empty Issue #2840 PR #2842
-
Provide new Worksheet methods to identify if a row or column is "empty", making allowance for different definitions of "empty":
- Treat rows/columns containing no cell records as empty (default)
- Treat cells containing a null value as empty
- Treat cells containing an empty string as empty
Changed
-
Modify
rangeBoundaries()
,rangeDimension()
andgetRangeBoundaries()
Coordinate methods to work with row/column ranges as well as with cell ranges and cells PR #2926 -
Better enforcement of value modification to match specified datatype when using
setValueExplicit()
-
Relax validation of merge cells to allow merge for a single cell reference Issue #2776
-
Memory and speed improvements, particularly for the Cell Collection, and the Writers.
See the Discussion section on github for details of performance across versions
-
Improved performance for removing rows/columns from a worksheet
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Xls Reader resolving absolute named ranges to relative ranges Issue #2826 PR #2827
- Null value handling in the Excel Math/Trig PRODUCT() function Issue #2833 PR #2834
- Invalid Print Area defined in Xlsx corrupts internal storage of print area Issue #2848 PR #2849
- Time interval formatting Issue #2768 PR #2772
- Copy from Xls(x) to Html/Pdf loses drawings PR #2788
- Html Reader converting cell containing 0 to null string Issue #2810 PR #2813
- Many fixes for Charts, especially, but not limited to, Scatter, Bubble, and Surface charts. Issue #2762 Issue #2299 Issue #2700 Issue #2817 Issue #2763 Issue #2219 Issue #2863 PR #2828 PR #2841 PR #2846 PR #2852 PR #2856 PR #2865 PR #2872 PR #2879 PR #2898 PR #2906 PR #2922 PR #2923
- Adjust both coordinates for two-cell anchors when rows/columns are added/deleted. Issue #2908 PR #2909
- Keep calculated string results below 32K. PR #2921
- Filter out illegal Unicode char values FFFE/FFFF. Issue #2897 PR #2910
- Better handling of REF errors and propagation of all errors in Calculation engine. PR #2902
- Calculating Engine regexp for Column/Row references when there are multiple quoted worksheet references in the formula Issue #2874 PR #2899