PhpSpreadsheet/tests/data/Calculation/DateTime
Mark Baker a911e9bb7b
Calculation engine empty arguments (#2143)
* Initia work on differentiating between empty arguments and null arguments passed to Excel functions

Previously we always passed a null value for an empty argument (i.e. where there was an argument separator in the function call without an argument.... PHP doesn't support empty arguments, so we needed to provide some value but then it wasn't possible to differentiate between a genuine null argument (either a literal null, or a null cell value) and the null that we were passing to represent an empty argument value.

This change evaluates empty arguments within the calculation engine, and instead of passing a null, it reads the signature of the required Excel function, and passes the default value for that argument; so now a null argument really does mean a null value argument.

* If the Excel function implementation doesn't accept any arguments; or once we reach a variadic argument, or try to pass more arguments than the method supports in its signature, then there's no point in checking for defaults, and to do so will lead to PHP errors, so break out of the default replacement loop
2021-06-10 08:49:53 +02:00
..
DATE.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
DATEDIF.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
DATEVALUE.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
DAY.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
DAYOpenOffice.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
DAYS.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
DAYS360.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
EDATE.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
EOMONTH.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
HOUR.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
ISOWEEKNUM.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
ISOWEEKNUM1904.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
MINUTE.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
MONTH.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
NETWORKDAYS.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
SECOND.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
TIME.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
TIMEVALUE.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
WEEKDAY.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
WEEKNUM.php Calculation engine empty arguments (#2143) 2021-06-10 08:49:53 +02:00
WEEKNUM1904.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
WORKDAY.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
YEAR.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00
YEARFRAC.php Complete Breakup Of Calculation/DateTime Functions (#1937) 2021-03-21 09:12:05 +01:00