1.17.1
Added
- Implementation of the Excel
AVERAGEIFS()functions as part of a restructuring of Database functions and Conditional Statistical functions. - Support for date values and percentages in query parameters for Database functions, and the IF expressions in functions like COUNTIF() and AVERAGEIF(). #1875
- Support for booleans, and for wildcard text search in query parameters for Database functions, and the IF expressions in functions like COUNTIF() and AVERAGEIF(). #1876
- Implemented DataBar for conditional formatting in Xlsx, providing read/write and creation of (type, value, direction, fills, border, axis position, color settings) as DataBar options in Excel. #1754
- Alignment for ODS Writer #1796
- Basic implementation of the PERMUTATIONA() Statistical Function
Changed
-
Formula functions that previously called PHP functions directly are now processed through the Excel Functions classes; resolving issues with PHP8 stricter typing. #1789
The following MathTrig functions are affected:
ABS(),ACOS(),ACOSH(),ASIN(),ASINH(),ATAN(),ATANH(),
COS(),COSH(),DEGREES()(rad2deg),EXP(),LN()(log),LOG10(),
RADIANS()(deg2rad),SIN(),SINH(),SQRT(),TAN(),TANH().One TextData function is also affected:
REPT()(str_repeat). -
formatAsDatecorrectly matches language metadata, reverting c55272e -
Formulae that previously crashed on sub function call returning excel error value now return said value.
The following functions are affectedCUMPRINC(),CUMIPMT(),AMORLINC(),
AMORDEGRC(). -
Adapt some function error return value to match excel's error.
The following functions are affectedPPMT(),IPMT().
Deprecated
-
Calling many of the Excel formula functions directly rather than through the Calculation Engine.
The logic for these Functions is now being moved out of the categorised
Database,DateTime,Engineering,Financial,Logical,LookupRef,MathTrig,Statistical,TextDataandWebclasses into small, dedicated classes for individual functions or related groups of functions.This makes the logic in these classes easier to maintain; and will reduce the memory footprint required to execute formulae when calling these functions.
Removed
- Nothing.
Fixed
- Avoid Duplicate Titles When Reading Multiple HTML Files.Issue #1823 PR #1829
- Fixed issue with Worksheet's
getCell()method when trying to get a cell by defined name. #1858 - Fix possible endless loop in NumberFormat Masks #1792
- Fix problem resulting from literal dot inside quotes in number format masks. PR #1830
- Resolve Google Sheets Xlsx charts issue. Google Sheets uses oneCellAnchor positioning and does not include *Cache values in the exported Xlsx. PR #1761
- Fix for Xlsx Chart axis titles mapping to correct X or Y axis label when only one is present. PR #1760
- Fix For Null Exception on ODS Read of Page Settings. #1772
- Fix Xlsx reader overriding manually set number format with builtin number format. PR #1805
- Fix Xlsx reader cell alignment. PR #1710
- Fix for not yet implemented data-types in Open Document writer Issue #1674
- Fix XLSX reader when having a corrupt numeric cell data type PR #1664
- Fix on
CUMPRINC(),CUMIPMT(),AMORLINC(),AMORDEGRC()usage. When those functions called one ofYEARFRAC(),PPMT(),IPMT()and they would get back an error value (represented as a string), trying to use numeral operands (+,/,-,*) on said return value and a number (float orint`) would fail.