Releases: PHPOffice/PhpSpreadsheet
Releases · PHPOffice/PhpSpreadsheet
1.5.1
Security
- Fix and improve XXE security scanning for XML-based and HTML Readers - #771
Added
- Support page margin in mPDF - #750
Fixed
- Support numeric condition in SUMIF, SUMIFS, AVERAGEIF, COUNTIF, MAXIF and MINIF - #683
- SUMIFS containing multiple conditions - #704
- Csv reader avoid notice when the file is empty - #743
- Fix print area parser for XLSX reader - #734
- Support overriding
DefaultValueBinder::dataTypeForValue()
without overridingDefaultValueBinder::bindValue()
- #735 - Mpdf export can exceed pcre.backtrack_limit - #637
- Fix index overflow on data values array - #748
1.5.0
1.4.1
1.4.0
Added
- Add excel function EXACT(value1, value2) support - #595
- Support workbook view attributes for Xlsx format - #523
- Read and write hyperlink for drawing image - #490
- Added calculation engine support for the new bitwise functions that were added in MS Excel 2013
- BITAND() Returns a Bitwise 'And' of two numbers
- BITOR() Returns a Bitwise 'Or' of two number
- BITXOR() Returns a Bitwise 'Exclusive Or' of two numbers
- BITLSHIFT() Returns a number shifted left by a specified number of bits
- BITRSHIFT() Returns a number shifted right by a specified number of bits
- Added calculation engine support for other new functions that were added in MS Excel 2013 and MS Excel 2016
- Text Functions
- CONCAT() Synonym for CONCATENATE()
- NUMBERVALUE() Converts text to a number, in a locale-independent way
- UNICHAR() Synonym for CHAR() in PHPSpreadsheet, which has always used UTF-8 internally
- UNIORD() Synonym for ORD() in PHPSpreadsheet, which has always used UTF-8 internally
- TEXTJOIN() Joins together two or more text strings, separated by a delimiter
- Logical Functions
- XOR() Returns a logical Exclusive Or of all arguments
- Date/Time Functions
- ISOWEEKNUM() Returns the ISO 8601 week number of the year for a given date
- Lookup and Reference Functions
- FORMULATEXT() Returns a formula as a string
- Financial Functions
- PDURATION() Calculates the number of periods required for an investment to reach a specified value
- RRI() Calculates the interest rate required for an investment to grow to a specified future value
- Engineering Functions
- ERF.PRECISE() Returns the error function integrated between 0 and a supplied limit
- ERFC.PRECISE() Synonym for ERFC
- Math and Trig Functions
- SEC() Returns the secant of an angle
- SECH() Returns the hyperbolic secant of an angle
- CSC() Returns the cosecant of an angle
- CSCH() Returns the hyperbolic cosecant of an angle
- COT() Returns the cotangent of an angle
- COTH() Returns the hyperbolic cotangent of an angle
- ACOT() Returns the cotangent of an angle
- ACOTH() Returns the hyperbolic cotangent of an angle
- Text Functions
- Refactored Complex Engineering Functions to use external complex number library
- Added calculation engine support for the new complex number functions that were added in MS Excel 2013
- IMCOSH() Returns the hyperbolic cosine of a complex number
- IMCOT() Returns the cotangent of a complex number
- IMCSC() Returns the cosecant of a complex number
- IMCSCH() Returns the hyperbolic cosecant of a complex number
- IMSEC() Returns the secant of a complex number
- IMSECH() Returns the hyperbolic secant of a complex number
- IMSINH() Returns the hyperbolic sine of a complex number
- IMTAN() Returns the tangent of a complex number
Fixed
- Fix ISFORMULA() function to work with a cell reference to another worksheet
- Xlsx reader crashed when reading a file with workbook protection - #553
- Cell formats with escaped spaces were causing incorrect date formatting - #557
- Could not open CSV file containing HTML fragment - #564
- Exclude the vendor folder in migration - #481
- Chained operations on cell ranges involving borders operated on last cell only #428
- Avoid memory exhaustion when cloning worksheet with a drawing #437
- Migration tool keep variables containing $PHPExcel untouched #598
- Rowspans/colspans were incorrect when adding worksheet using loadIntoExisting #619
1.3.1
1.3.0
Added
- Support to read Xlsm templates with form elements, macros, printer settings, protected elements and back compatibility drawing, and save result without losing important elements of document - #435
- Expose sheet title maximum length as
Worksheet::SHEET_TITLE_MAXIMUM_LENGTH
- #482 - Allow escape character to be set in CSV reader – #492
Fixed
- Subtotal 9 in a group that has other subtotals 9 exclude the totals of the other subtotals in the range - #332
Helper\Html
support UTF-8 HTML input - #444- Xlsx loaded an extra empty comment for each real comment - #375
- Xlsx reader do not read rows and columns filtered out in readFilter at all - #370
- Make newer Excel versions properly recalculate formulas on document open - #456
Coordinate::extractAllCellReferencesInRange()
throws an exception for an invalid range – #519- Fixed parsing of conditionals in COUNTIF functions - #526
- Corruption errors for saved Xlsx docs with frozen panes - #532
1.2.1
1.2.0
Added
- HTML writer creates a generator meta tag - #312
- Support invalid zoom value in XLSX format - #350
- Support for
_xlfn.
prefixed functions andISFORMULA
,MODE.SNGL
,STDEV.S
,STDEV.P
- #390
Fixed
- Avoid potentially unsupported PSR-16 cache keys - #354
- Check for MIME type to know if CSV reader can read a file - #167
- Use proper € symbol for currency format - #379
- Read printing area correctly when skipping some sheets - #371
- Avoid incorrectly overwriting calculated value type - #394
- Select correct cell when calling freezePane - #389
setStrikethrough()
did not set the font - #403
1.1.0
Added
- Support for PHP 7.2
- Support cell comments in HTML writer and reader - #308
- Option to stop at a conditional styling, if it matches (only XLSX format) - #292
- Support for line width for data series when rendering Xlsx - #329
Fixed
- Better auto-detection of CSV separators - #305
- Support for shape style ending with
;
- #304 - Freeze Panes takes wrong coordinates for XLSX - #322
COLUMNS
andROWS
functions crashed in some cases - #336- Support XML file without styles - #331
- Cell coordinates which are already a range cause an exception #319
1.0.0
Added
- Support to write merged cells in ODS format - #287
- Able to set the
topLeftCell
in freeze panes - #261 - Support
DateTimeImmutable
as cell value - Support migration of prefixed classes
Fixed
- Can read very small HTML files - #194
- Written DataValidation was corrupted - #290
- Date format compatible with both LibreOffice and Excel - #298
BREAKING CHANGE
- Constant
TYPE_DOUGHTNUTCHART
is nowTYPE_DOUGHNUTCHART
.
* ,
_/^\_
< >
* /.-.\ *
* `/&\` *
,@.*;@,
/_o.I %_\ *
* (`'--:o(_@;
/`;--.,__ `') *
;@`o % O,*`'`&\
* (`'--)_@ ;o %'()\ *
/`;--._`''--._O'@;
/&*,()~o`;-.,_ `""`)
* /`,@ ;+& () o*`;-';\
(`""--.,_0 +% @' &()\
/-.,_ ``''--....-'`) *
* /@%;o`:;'--,.__ __.'\
;*,&(); @ % &^;~`"`o;@(); *
/(); o^~; & ().o@*&`;&%O\
`"="==""==,,,.,="=="==="`
__.----.(\-''#####---...___...-----._
'` \)_`"""""`
.--' ')
o( )_-\
`"""` `