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
Basic implementation of the PERMUTATIONA() Statistical Function
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).
formatAsDate correctly 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 affected CUMPRINC(), CUMIPMT(), AMORLINC(),
AMORDEGRC().
Adapt some function error return value to match excel's error.
The following functions are affected PPMT(), IPMT().
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, TextData and Web classes 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.
Resolve Google Sheets Xlsx charts issue. Google Sheets uses oneCellAnchor positioning and does not include *Cache values in the exported Xlsx. [PR #1761](PHPOffice/PhpSpreadsheet#1761)
Fix on CUMPRINC(), CUMIPMT(), AMORLINC(), AMORDEGRC() usage. When those functions called one of YEARFRAC(), 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 or int`) would fail.
1.17.0
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
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
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).
formatAsDate correctly 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 affected CUMPRINC(), CUMIPMT(), AMORLINC(),
AMORDEGRC().
Adapt some function error return value to match excel's error.
The following functions are affected PPMT(), 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, TextData and Web classes 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.
Resolve Google Sheets Xlsx charts issue. Google Sheets uses oneCellAnchor positioning and does not include *Cache values in the exported Xlsx. [PR #1761](PHPOffice/PhpSpreadsheet#1761)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/TRMN/medusa/network/alerts).
Bumps phpoffice/phpspreadsheet from 1.9.0 to 1.17.1.
Release notes
Sourced from phpoffice/phpspreadsheet's releases.
... (truncated)
Changelog
Sourced from phpoffice/phpspreadsheet's changelog.
... (truncated)
Commits
c55269c
Changelogf8c58fb
Changelog42e8680
Statistics more unit tests (#1889)2eaf9b5
Start splitting some of the basic Statistical functions out into separate cla...8721f79
Update ReferenceHelper.php (#1873)0715b63
Pdf Writer strtoupper() fix (#1629)1d6f36d
Initial Formula Translation tests (#1886)ee969fd
Additional conditionals from math trig (#1885)761c84a
Avoid the performance/memory overheads of "clone on modify" of $args (#1884)80a20fc
100% Coverage for Calculation/DateTime (#1870)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/TRMN/medusa/network/alerts).