diff --git a/.gitattributes b/.gitattributes
index 19c90f40..c23249d2 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -3,12 +3,12 @@
/.github export-ignore
/.gitignore export-ignore
/.php_cs.dist export-ignore
-/.sami.php export-ignore
/.scrutinizer.yml export-ignore
/CHANGELOG.PHPExcel.md export-ignore
/bin export-ignore
/composer.lock export-ignore
/docs export-ignore
+/infra export-ignore
/mkdocs.yml export-ignore
/phpunit.xml.dist export-ignore
/samples export-ignore
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..68ac78ad
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,8 @@
+version: 2
+updates:
+- package-ecosystem: composer
+ directory: "/"
+ schedule:
+ interval: monthly
+ time: "11:00"
+ open-pull-requests-limit: 10
diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml
index 3bdeea1d..a7850833 100644
--- a/.github/workflows/github-pages.yml
+++ b/.github/workflows/github-pages.yml
@@ -19,7 +19,7 @@ jobs:
- name: Build API documentation
run: |
- curl -LO https://github.com/phpDocumentor/phpDocumentor/releases/download/v3.0.0-rc/phpDocumentor.phar
+ curl -LO https://github.com/phpDocumentor/phpDocumentor/releases/download/v3.0.0/phpDocumentor.phar
php phpDocumentor.phar --directory src/ --target docs/api
- name: Deploy to GithHub Pages
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index a01892ae..32dd510a 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -5,6 +5,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
+ experimental:
+ - false
php-version:
- '7.2'
- '7.3'
@@ -38,13 +40,13 @@ jobs:
- name: Delete composer lock file
id: composer-lock
- if: ${{ matrix.php-version == '8.0' || matrix.php-version == '8.1' }}
+ if: ${{ matrix.php-version == '8.1' }}
run: |
rm composer.lock
echo "::set-output name=flags::--ignore-platform-reqs"
- name: Install dependencies
- run: composer install --no-progress --prefer-dist --optimize-autoloader ${{ steps.composer-lock.outputs.flags }}
+ run: composer update --no-progress --prefer-dist --optimize-autoloader ${{ steps.composer-lock.outputs.flags }}
- name: Setup problem matchers for PHP
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
@@ -52,8 +54,10 @@ jobs:
- name: Setup problem matchers for PHPUnit
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- - name: Test with PHPUnit
- run: ./vendor/bin/phpunit
+ - name: "Run PHPUnit tests (Experimental: ${{ matrix.experimental }})"
+ env:
+ FAILURE_ACTION: "${{ matrix.experimental == true }}"
+ run: vendor/bin/phpunit --verbose || $FAILURE_ACTION
php-cs-fixer:
runs-on: ubuntu-latest
@@ -117,6 +121,68 @@ jobs:
- name: Code style with PHP_CodeSniffer
run: ./vendor/bin/phpcs -q --report=checkstyle | cs2pr
+ versions:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Setup PHP, with composer and extensions
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: 7.4
+ extensions: ctype, dom, gd, iconv, fileinfo, libxml, mbstring, simplexml, xml, xmlreader, xmlwriter, zip, zlib
+ coverage: none
+ tools: cs2pr
+
+ - name: Get composer cache directory
+ id: composer-cache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: Cache composer dependencies
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
+ restore-keys: ${{ runner.os }}-composer-
+
+ - name: Install dependencies
+ run: composer install --no-progress --prefer-dist --optimize-autoloader
+
+ - name: Code Version Compatibility check with PHP_CodeSniffer
+ run: ./vendor/bin/phpcs -q --report-width=200 --report=summary,full src/ --standard=PHPCompatibility --runtime-set testVersion 7.2-
+
+ phpstan:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Setup PHP, with composer and extensions
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: 7.4
+ extensions: ctype, dom, gd, iconv, fileinfo, libxml, mbstring, simplexml, xml, xmlreader, xmlwriter, zip, zlib
+ coverage: none
+ tools: cs2pr
+
+ - name: Get composer cache directory
+ id: composer-cache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: Cache composer dependencies
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
+ restore-keys: ${{ runner.os }}-composer-
+
+ - name: Install dependencies
+ run: composer install --no-progress --prefer-dist --optimize-autoloader
+
+ - name: Static analysis with PHPStan
+ run: ./vendor/bin/phpstan analyse
+
coverage:
runs-on: ubuntu-latest
steps:
diff --git a/.gitignore b/.gitignore
index 0723541d..eac08567 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,6 @@
*.project
/.settings
/.idea
+
+## mkdocs output
+/site
diff --git a/.php_cs.dist b/.php_cs.dist
index f8797e88..1a646420 100644
--- a/.php_cs.dist
+++ b/.php_cs.dist
@@ -160,7 +160,7 @@ return PhpCsFixer\Config::create()
'php_unit_test_annotation' => true,
'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
'php_unit_test_class_requires_covers' => false, // We don't care as much as we should about coverage
- 'phpdoc_add_missing_param_annotation' => true,
+ 'phpdoc_add_missing_param_annotation' => false, // Don't add things that bring no value
'phpdoc_align' => false, // Waste of time
'phpdoc_annotation_without_dot' => true,
'phpdoc_indent' => true,
diff --git a/CHANGELOG.PHPExcel.md b/CHANGELOG.PHPExcel.md
index 3c299020..c92feda9 100644
--- a/CHANGELOG.PHPExcel.md
+++ b/CHANGELOG.PHPExcel.md
@@ -1518,7 +1518,7 @@ documentation for more information on entering dates into a cell.
### Bugfixes
- PHPExcel->removeSheetByIndex now re-orders sheets after deletion, so no array indexes are lost - @JV
-- PHPExcel_Writer_Excel2007_Worksheet::_writeCols() used direct assignment to $pSheet->getColumnDimension('A')->Width instead of $pSheet->getColumnDimension('A')->setWidth() - @JV
+- PHPExcel_Writer_Excel2007_Worksheet::_writeCols() used direct assignment to $pSheet->getColumnDimension('A')->Width instead of ~~~~$pSheet->getColumnDimension('A')->setWidth() - @JV
- DocumentProperties used $this->LastModifiedBy instead of $this->_lastModifiedBy. - @JV
### General
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 04b99dfd..80e97885 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,8 +8,28 @@ and this project adheres to [Semantic Versioning](https://semver.org).
## Unreleased - TBD
### Added
-
-- CSV Reader - Best Guess for Encoding, and Handle Null-string Escape [#1647](https://github.com/PHPOffice/PhpSpreadsheet/issues/1647)
+- Ability to set style on named range, and validate input to setSelectedCells.
+[Issue #2279](https://github.com/PHPOffice/PhpSpreadsheet/issues/2279)
+[PR #2280](https://github.com/PHPOffice/PhpSpreadsheet/pull/2280)
+- Process comments in Sylk file.
+[Issue #2276](https://github.com/PHPOffice/PhpSpreadsheet/issues/2276)
+[PR #2277](https://github.com/PHPOffice/PhpSpreadsheet/pull/2277)
+- Addition of Custom Properties to Ods Writer, and 32-bit-safe timestamps for Document Properties.
+[PR #2113](https://github.com/PHPOffice/PhpSpreadsheet/pull/2113)
+- Added callback to CSV reader to set user-specified defaults for various properties (especially for escape which has a poor PHP-inherited default of backslash which does not correspond with Excel).
+[PR #2103](https://github.com/PHPOffice/PhpSpreadsheet/pull/2103)
+- Phase 1 of better namespace handling for Xlsx, resolving many open issues.
+[PR #2173](https://github.com/PHPOffice/PhpSpreadsheet/pull/2173)
+[PR #2204](https://github.com/PHPOffice/PhpSpreadsheet/pull/2204)
+[PR #2303](https://github.com/PHPOffice/PhpSpreadsheet/pull/2303)
+- Add ability to extract images if source is a URL. [Issue #1997](https://github.com/PHPOffice/PhpSpreadsheet/issues/1997) [PR #2072](https://github.com/PHPOffice/PhpSpreadsheet/pull/2072)
+- Support for passing flags in the Reader `load()` and Writer `save()`methods, and through the IOFactory, to set behaviours. [PR #2136](https://github.com/PHPOffice/PhpSpreadsheet/pull/2136)
+ - See [documentation](https://phpspreadsheet.readthedocs.io/en/latest/topics/reading-and-writing-to-file/) for details
+- More flexibility in the StringValueBinder to determine what datatypes should be treated as strings [PR #2138](https://github.com/PHPOffice/PhpSpreadsheet/pull/2138)
+- Helper class for conversion between css size Units of measure (`px`, `pt`, `pc`, `in`, `cm`, `mm`). [PR #2152](https://github.com/PHPOffice/PhpSpreadsheet/issues/2145)
+- Allow Row height and Column Width to be set using different units of measure (`px`, `pt`, `pc`, `in`, `cm`, `mm`), rather than only in points or MS Excel column width units. [PR #2152](https://github.com/PHPOffice/PhpSpreadsheet/issues/2145)
+- Ability to stream to an Amazon S3 bucket
+ [Issue #2249](https://github.com/PHPOffice/PhpSpreadsheet/issues/2249)
- Provided a Size Helper class to validate size values (pt, px, em)
### Changed
@@ -18,29 +38,247 @@ and this project adheres to [Semantic Versioning](https://semver.org).
### Deprecated
+- PHP8.1 will deprecate auto_detect_line_endings. As a result of this change, Csv Reader using PHP8.1+ will no longer be able to handle a Csv with Mac line endings.
+
+### Removed
+
- Nothing.
+### Fixed
+- Unexpected format in Xlsx Timestamp
+[Issue #2331](https://github.com/PHPOffice/PhpSpreadsheet/issues/2331)
+[PR #2332](https://github.com/PHPOffice/PhpSpreadsheet/pull/2332)
+- Corrections for HLOOKUP
+[Issue #2123](https://github.com/PHPOffice/PhpSpreadsheet/issues/2123)
+[PR #2330](https://github.com/PHPOffice/PhpSpreadsheet/pull/2330)
+- Corrections for Xlsx Read Comments
+[Issue #2316](https://github.com/PHPOffice/PhpSpreadsheet/issues/2316)
+[PR #2329](https://github.com/PHPOffice/PhpSpreadsheet/pull/2329)
+- Lowercase Calibri font names
+[Issue #2273](https://github.com/PHPOffice/PhpSpreadsheet/issues/2273)
+[PR #2325](https://github.com/PHPOffice/PhpSpreadsheet/pull/2325)
+- isFormula Referencing Sheet with Space in Title
+[Issue #2304](https://github.com/PHPOffice/PhpSpreadsheet/issues/2304)
+[PR #2306](https://github.com/PHPOffice/PhpSpreadsheet/pull/2306)
+- Xls Reader Fatal Error due to Undefined Offset
+[Issue #1114](https://github.com/PHPOffice/PhpSpreadsheet/issues/1114)
+[PR #2308](https://github.com/PHPOffice/PhpSpreadsheet/pull/2308)
+- Permit Csv Reader delimiter to be set to null.
+[Issue #2287](https://github.com/PHPOffice/PhpSpreadsheet/issues/2287)
+[PR #2288](https://github.com/PHPOffice/PhpSpreadsheet/pull/2288)
+- Csv Reader did not handle booleans correctly.
+[PR #2232](https://github.com/PHPOffice/PhpSpreadsheet/pull/2232)
+- Problems when deleting sheet with local defined name.
+[Issue #2266](https://github.com/PHPOffice/PhpSpreadsheet/issues/2266)
+[PR #2284](https://github.com/PHPOffice/PhpSpreadsheet/pull/2284)
+- Worksheet passwords were not always handled correctly.
+[Issue #1897](https://github.com/PHPOffice/PhpSpreadsheet/issues/1897)
+[PR #2197](https://github.com/PHPOffice/PhpSpreadsheet/pull/2197)
+- Gnumeric Reader will now distinguish between Created and Modified timestamp.
+[PR #2133](https://github.com/PHPOffice/PhpSpreadsheet/pull/2133)
+- Xls Reader will now handle MACCENTRALEUROPE with or without hyphen.
+[Issue #549](https://github.com/PHPOffice/PhpSpreadsheet/issues/549)
+[PR #2213](https://github.com/PHPOffice/PhpSpreadsheet/pull/2213)
+- Tweaks to input file validation.
+[Issue #1718](https://github.com/PHPOffice/PhpSpreadsheet/issues/1718)
+[PR #2217](https://github.com/PHPOffice/PhpSpreadsheet/pull/2217)
+- Html Reader did not handle comments correctly.
+[Issue #2234](https://github.com/PHPOffice/PhpSpreadsheet/issues/2234)
+[PR #2235](https://github.com/PHPOffice/PhpSpreadsheet/pull/2235)
+- Apache OpenOffice Uses Unexpected Case for General format.
+[Issue #2239](https://github.com/PHPOffice/PhpSpreadsheet/issues/2239)
+[PR #2242](https://github.com/PHPOffice/PhpSpreadsheet/pull/2242)
+- Problems with fraction formatting.
+[Issue #2253](https://github.com/PHPOffice/PhpSpreadsheet/issues/2253)
+[PR #2254](https://github.com/PHPOffice/PhpSpreadsheet/pull/2254)
+- Xlsx Reader had problems reading file with no styles.xml or empty styles.xml.
+[Issue #2246](https://github.com/PHPOffice/PhpSpreadsheet/issues/2246)
+[PR #2247](https://github.com/PHPOffice/PhpSpreadsheet/pull/2247)
+- Xlsx Reader did not read Data Validation flags correctly.
+[Issue #2224](https://github.com/PHPOffice/PhpSpreadsheet/issues/2224)
+[PR #2225](https://github.com/PHPOffice/PhpSpreadsheet/pull/2225)
+- Better handling of empty arguments in Calculation engine.
+[PR #2143](https://github.com/PHPOffice/PhpSpreadsheet/pull/2143)
+- Many fixes for Autofilter.
+[Issue #2216](https://github.com/PHPOffice/PhpSpreadsheet/issues/2216)
+[PR #2141](https://github.com/PHPOffice/PhpSpreadsheet/pull/2141)
+[PR #2162](https://github.com/PHPOffice/PhpSpreadsheet/pull/2162)
+[PR #2218](https://github.com/PHPOffice/PhpSpreadsheet/pull/2218)
+- Locale generator will now use Unix line endings even on Windows.
+[Issue #2172](https://github.com/PHPOffice/PhpSpreadsheet/issues/2172)
+[PR #2174](https://github.com/PHPOffice/PhpSpreadsheet/pull/2174)
+- Support differences in implementation of Text functions between Excel/Ods/Gnumeric.
+[PR #2151](https://github.com/PHPOffice/PhpSpreadsheet/pull/2151)
+- Fixes to places where PHP8.1 enforces new or previously unenforced restrictions.
+[PR #2137](https://github.com/PHPOffice/PhpSpreadsheet/pull/2137)
+[PR #2191](https://github.com/PHPOffice/PhpSpreadsheet/pull/2191)
+[PR #2231](https://github.com/PHPOffice/PhpSpreadsheet/pull/2231)
+- Clone for HashTable was incorrect.
+[PR #2130](https://github.com/PHPOffice/PhpSpreadsheet/pull/2130)
+- Xlsx Reader was not evaluating Document Security Lock correctly.
+[PR #2128](https://github.com/PHPOffice/PhpSpreadsheet/pull/2128)
+- Error in COUPNCD handling end of month.
+[Issue #2116](https://github.com/PHPOffice/PhpSpreadsheet/issues/2116)
+[PR #2119](https://github.com/PHPOffice/PhpSpreadsheet/pull/2119)
+- Xls Writer Parser did not handle concatenation operator correctly.
+[PR #2080](https://github.com/PHPOffice/PhpSpreadsheet/pull/2080)
+- Xlsx Writer did not handle boolean false correctly.
+[Issue #2082](https://github.com/PHPOffice/PhpSpreadsheet/issues/2082)
+[PR #2087](https://github.com/PHPOffice/PhpSpreadsheet/pull/2087)
+- SUM needs to treat invalid strings differently depending on whether they come from a cell or are used as literals.
+[Issue #2042](https://github.com/PHPOffice/PhpSpreadsheet/issues/2042)
+[PR #2045](https://github.com/PHPOffice/PhpSpreadsheet/pull/2045)
+- Html reader could have set illegal coordinates when dealing with embedded tables.
+[Issue #2029](https://github.com/PHPOffice/PhpSpreadsheet/issues/2029)
+[PR #2032](https://github.com/PHPOffice/PhpSpreadsheet/pull/2032)
+- Documentation for printing gridlines was wrong.
+[PR #2188](https://github.com/PHPOffice/PhpSpreadsheet/pull/2188)
+- Return Value Error - DatabaseAbstruct::buildQuery() return null but must be string [Issue #2158](https://github.com/PHPOffice/PhpSpreadsheet/issues/2158) [PR #2160](https://github.com/PHPOffice/PhpSpreadsheet/pull/2160)
+- Xlsx reader not recognize data validations that references another sheet
+[Issue #1432](https://github.com/PHPOffice/PhpSpreadsheet/issues/1432)
+[Issue #2149](https://github.com/PHPOffice/PhpSpreadsheet/issues/2149)
+[PR #2150](https://github.com/PHPOffice/PhpSpreadsheet/pull/2150)
+[PR #2265](https://github.com/PHPOffice/PhpSpreadsheet/pull/2265)
+- Don't calculate cell width for autosize columns if a cell contains a null or empty string value [Issue #2165](https://github.com/PHPOffice/PhpSpreadsheet/issues/2165) [PR #2167](https://github.com/PHPOffice/PhpSpreadsheet/pull/2167)
+- Allow negative interest rate values in a number of the Financial functions (`PPMT()`, `PMT()`, `FV()`, `PV()`, `NPER()`, etc) [Issue #2163](https://github.com/PHPOffice/PhpSpreadsheet/issues/2163) [PR #2164](https://github.com/PHPOffice/PhpSpreadsheet/pull/2164)
+- Xls Reader changing grey background to black in Excel template [Issue #2147](Changing grey background to black in Excel template) [PR #2156](https://github.com/PHPOffice/PhpSpreadsheet/pull/2156)
+- Column width and Row height styles in the Html Reader when the value includes a unit of measure. [Issue #2145](https://github.com/PHPOffice/PhpSpreadsheet/issues/2145).
+- Data Validation flags not set correctly when reading XLSX files. [Issue #2224](https://github.com/PHPOffice/PhpSpreadsheet/issues/2224) [PR #2225](https://github.com/PHPOffice/PhpSpreadsheet/pull/2225)
+- Reading XLSX files without styles.xml throws an exception. [Issue #2246](https://github.com/PHPOffice/PhpSpreadsheet/issues/2246)
+- Improved performance of `Style::applyFromArray()` when applied to several cells. [PR #1785](https://github.com/PHPOffice/PhpSpreadsheet/issues/1785).
+- Improve XLSX parsing speed if no readFilter is applied (again) - [#772](https://github.com/PHPOffice/PhpSpreadsheet/issues/772)
+
+## 1.18.0 - 2021-05-31
+
+### Added
+- Enhancements to CSV Reader, allowing options to be set when using `IOFactory::load()` with a callback to set delimiter, enclosure, charset etc. [PR #2103](https://github.com/PHPOffice/PhpSpreadsheet/pull/2103) - See [documentation](https://github.com/PHPOffice/PhpSpreadsheet/blob/master/docs/topics/reading-and-writing-to-file.md#csv-comma-separated-values) for details.
+- Implemented basic AutoFiltering for Ods Reader and Writer [PR #2053](https://github.com/PHPOffice/PhpSpreadsheet/pull/2053)
+- Implemented basic AutoFiltering for Gnumeric Reader [PR #2055](https://github.com/PHPOffice/PhpSpreadsheet/pull/2055)
+- Improved support for Row and Column ranges in formulae [Issue #1755](https://github.com/PHPOffice/PhpSpreadsheet/issues/1755) [PR #2028](https://github.com/PHPOffice/PhpSpreadsheet/pull/2028)
+- Implemented URLENCODE() Web Function
+- Implemented the CHITEST(), CHISQ.DIST() and CHISQ.INV() and equivalent Statistical functions, for both left- and right-tailed distributions.
+- Support for ActiveSheet and SelectedCells in the ODS Reader and Writer. [PR #1908](https://github.com/PHPOffice/PhpSpreadsheet/pull/1908)
+- Support for notContainsText Conditional Style in xlsx [Issue #984](https://github.com/PHPOffice/PhpSpreadsheet/issues/984)
+
+### Changed
+
+- Use of `nb` rather than `no` as the locale code for Norsk Bokmål.
+
+### Deprecated
+
+- All Excel Function implementations in `Calculation\Database`, `Calculation\DateTime`, `Calculation\Engineering`, `Calculation\Financial`, `Calculation\Logical`, `Calculation\LookupRef`, `Calculation\MathTrig`, `Calculation\Statistical`, `Calculation\TextData` and `Calculation\Web` have been moved to dedicated classes for individual functions or groups of related functions. See the docblocks against all the deprecated methods for details of the new methods to call instead. At some point, these old classes will be deleted.
+
+### Removed
+
+- Use of `nb` rather than `no` as the locale language code for Norsk Bokmål.
+
+### Fixed
+- Fixed error in COUPNCD() calculation for end of month [Issue #2116](https://github.com/PHPOffice/PhpSpreadsheet/issues/2116) - [PR #2119](https://github.com/PHPOffice/PhpSpreadsheet/pull/2119)
+- Resolve default values when a null argument is passed for HLOOKUP(), VLOOKUP() and ADDRESS() functions [Issue #2120](https://github.com/PHPOffice/PhpSpreadsheet/issues/2120) - [PR #2121](https://github.com/PHPOffice/PhpSpreadsheet/pull/2121)
+- Fixed incorrect R1C1 to A1 subtraction formula conversion (`R[-2]C-R[2]C`) [Issue #2076](https://github.com/PHPOffice/PhpSpreadsheet/pull/2076) [PR #2086](https://github.com/PHPOffice/PhpSpreadsheet/pull/2086)
+- Correctly handle absolute A1 references when converting to R1C1 format [PR #2060](https://github.com/PHPOffice/PhpSpreadsheet/pull/2060)
+- Correct default fill style for conditional without a pattern defined [Issue #2035](https://github.com/PHPOffice/PhpSpreadsheet/issues/2035) [PR #2050](https://github.com/PHPOffice/PhpSpreadsheet/pull/2050)
+- Fixed issue where array key check for existince before accessing arrays in Xlsx.php. [PR #1970](https://github.com/PHPOffice/PhpSpreadsheet/pull/1970)
+- Fixed issue with quoted strings in number format mask rendered with toFormattedString() [Issue 1972#](https://github.com/PHPOffice/PhpSpreadsheet/issues/1972) [PR #1978](https://github.com/PHPOffice/PhpSpreadsheet/pull/1978)
+- Fixed issue with percentage formats in number format mask rendered with toFormattedString() [Issue 1929#](https://github.com/PHPOffice/PhpSpreadsheet/issues/1929) [PR #1928](https://github.com/PHPOffice/PhpSpreadsheet/pull/1928)
+- Fixed issue with _ spacing character in number format mask corrupting output from toFormattedString() [Issue 1924#](https://github.com/PHPOffice/PhpSpreadsheet/issues/1924) [PR #1927](https://github.com/PHPOffice/PhpSpreadsheet/pull/1927)
+- Fix for [Issue #1887](https://github.com/PHPOffice/PhpSpreadsheet/issues/1887) - Lose Track of Selected Cells After Save
+- Fixed issue with Xlsx@listWorksheetInfo not returning any data
+- Fixed invalid arguments triggering mb_substr() error in LEFT(), MID() and RIGHT() text functions. [Issue #640](https://github.com/PHPOffice/PhpSpreadsheet/issues/640)
+- Fix for [Issue #1916](https://github.com/PHPOffice/PhpSpreadsheet/issues/1916) - Invalid signature check for XML files
+- Fix change in `Font::setSize()` behavior for PHP8. [PR #2100](https://github.com/PHPOffice/PhpSpreadsheet/pull/2100)
+
+## 1.17.1 - 2021-03-01
+
+### 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](https://github.com/PHPOffice/PhpSpreadsheet/pull/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](https://github.com/PHPOffice/PhpSpreadsheet/pull/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](https://github.com/PHPOffice/PhpSpreadsheet/pull/1754)
+- Alignment for ODS Writer [#1796](https://github.com/PHPOffice/PhpSpreadsheet/issues/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](https://github.com/PHPOffice/PhpSpreadsheet/issues/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.
+
### Removed
- Nothing.
### Fixed
+- Avoid Duplicate Titles When Reading Multiple HTML Files.[Issue #1823](https://github.com/PHPOffice/PhpSpreadsheet/issues/1823) [PR #1829](https://github.com/PHPOffice/PhpSpreadsheet/pull/1829)
+- Fixed issue with Worksheet's `getCell()` method when trying to get a cell by defined name. [#1858](https://github.com/PHPOffice/PhpSpreadsheet/issues/1858)
+- Fix possible endless loop in NumberFormat Masks [#1792](https://github.com/PHPOffice/PhpSpreadsheet/issues/1792)
+- Fix problem resulting from literal dot inside quotes in number format masks. [PR #1830](https://github.com/PHPOffice/PhpSpreadsheet/pull/1830)
+- Resolve Google Sheets Xlsx charts issue. Google Sheets uses oneCellAnchor positioning and does not include *Cache values in the exported Xlsx. [PR #1761](https://github.com/PHPOffice/PhpSpreadsheet/pull/1761)
+- Fix for Xlsx Chart axis titles mapping to correct X or Y axis label when only one is present. [PR #1760](https://github.com/PHPOffice/PhpSpreadsheet/pull/1760)
+- Fix For Null Exception on ODS Read of Page Settings. [#1772](https://github.com/PHPOffice/PhpSpreadsheet/issues/1772)
+- Fix Xlsx reader overriding manually set number format with builtin number format. [PR #1805](https://github.com/PHPOffice/PhpSpreadsheet/pull/1805)
+- Fix Xlsx reader cell alignment. [PR #1710](https://github.com/PHPOffice/PhpSpreadsheet/pull/1710)
+- Fix for not yet implemented data-types in Open Document writer [Issue #1674](https://github.com/PHPOffice/PhpSpreadsheet/issues/1674)
+- Fix XLSX reader when having a corrupt numeric cell data type [PR #1664](https://github.com/phpoffice/phpspreadsheet/pull/1664)
+- 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.16.0 - 2020-12-31
+
+### Added
+
+- CSV Reader - Best Guess for Encoding, and Handle Null-string Escape [#1647](https://github.com/PHPOffice/PhpSpreadsheet/issues/1647)
+
+### Changed
+
+- Updated the CONVERT() function to support all current MS Excel categories and Units of Measure.
+
+### Deprecated
+
+- All Excel Function implementations in `Calculation\Database`, `Calculation\DateTime`, `Calculation\Engineering`, `Calculation\Financial`, `Calculation\Logical`, `Calculation\LookupRef`, `Calculation\MathTrig`, `Calculation\Statistical`, `Calculation\TextData` and `Calculation\Web` have been moved to dedicated classes for individual functions or groups of related functions. See the docblocks against all the deprecated methods for details of the new methods to call instead. At some point, these old classes will be deleted.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- Fixed issue with absolute path in worksheets' Target. [PR #1769](https://github.com/PHPOffice/PhpSpreadsheet/pull/1769)
- Fix for Xls Reader when SST has a bad length [#1592](https://github.com/PHPOffice/PhpSpreadsheet/issues/1592)
-- Resolve Xlsx loader issue whe hyperlinks don't have a destination
+- Resolve Xlsx loader issue whe hyperlinks don't have a destination
- Resolve issues when printer settings resources IDs clash with drawing IDs
- Resolve issue with SLK long filenames [#1612](https://github.com/PHPOffice/PhpSpreadsheet/issues/1612)
- ROUNDUP and ROUNDDOWN return incorrect results for values of 0 [#1627](https://github.com/phpoffice/phpspreadsheet/pull/1627)
- Apply Column and Row Styles to Existing Cells [#1712](https://github.com/PHPOffice/PhpSpreadsheet/issues/1712) [PR #1721](https://github.com/PHPOffice/PhpSpreadsheet/pull/1721)
- Resolve issues with defined names where worksheet doesn't exist (#1686)[https://github.com/PHPOffice/PhpSpreadsheet/issues/1686] and [#1723](https://github.com/PHPOffice/PhpSpreadsheet/issues/1723) - [PR #1742](https://github.com/PHPOffice/PhpSpreadsheet/pull/1742)
-- Fix for issue [#1735](https://github.com/PHPOffice/PhpSpreadsheet/issues/1735) Incorrect activeSheetIndex after RemoveSheetByIndex - [PR #1743](https://github.com/PHPOffice/PhpSpreadsheet/pull/1743)
+- Fix for issue [#1735](https://github.com/PHPOffice/PhpSpreadsheet/issues/1735) Incorrect activeSheetIndex after RemoveSheetByIndex - [PR #1743](https://github.com/PHPOffice/PhpSpreadsheet/pull/1743)
- Ensure that the list of shared formulae is maintained when an xlsx file is chunked with readFilter[Issue #169](https://github.com/PHPOffice/PhpSpreadsheet/issues/1669).
- Fix for notice during accessing "cached magnification factor" offset [#1354](https://github.com/PHPOffice/PhpSpreadsheet/pull/1354)
- Fix compatibility with ext-gd on php 8
### Security Fix (CVE-2020-7776)
-- Prevent XSS through cell comments in the HTML Writer.
+- Prevent XSS through cell comments in the HTML Writer.
## 1.15.0 - 2020-10-11
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index aed13fe2..f5953533 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -9,3 +9,12 @@ If you would like to contribute, here are some notes and guidelines:
- All code changes must be validated by `composer check`
- [Helpful article about forking](https://help.github.com/articles/fork-a-repo/ "Forking a GitHub repository")
- [Helpful article about pull requests](https://help.github.com/articles/using-pull-requests/ "Pull Requests")
+
+## How to release
+
+1. Complete CHANGELOG.md and commit
+2. Create an annotated tag
+ 1. `git tag -a 1.2.3`
+ 2. Tag subject must be the version number, eg: `1.2.3`
+ 3. Tag body must be a copy-paste of the changelog entries
+3. Push tag with `git push --tags`, GitHub Actions will create a GitHub release automatically
diff --git a/bin/generate-document b/bin/generate-document
index d44ec624..a8f334c9 100755
--- a/bin/generate-document
+++ b/bin/generate-document
@@ -2,12 +2,13 @@
getProperty('phpSpreadsheetFunctions');
+ $phpSpreadsheetFunctionsProperty = (new ReflectionClass(Calculation::class))
+ ->getProperty('phpSpreadsheetFunctions');
$phpSpreadsheetFunctionsProperty->setAccessible(true);
$phpSpreadsheetFunctions = $phpSpreadsheetFunctionsProperty->getValue();
ksort($phpSpreadsheetFunctions);
diff --git a/bin/generate-locales b/bin/generate-locales
new file mode 100644
index 00000000..30b9c556
--- /dev/null
+++ b/bin/generate-locales
@@ -0,0 +1,25 @@
+#!/usr/bin/env php
+getProperty('phpSpreadsheetFunctions');
+ $phpSpreadsheetFunctionsProperty->setAccessible(true);
+ $phpSpreadsheetFunctions = $phpSpreadsheetFunctionsProperty->getValue();
+
+ $localeGenerator = new LocaleGenerator(
+ realpath(__DIR__ . '/../src/PhpSpreadsheet/Calculation/locale/'),
+ 'Translations.xlsx',
+ $phpSpreadsheetFunctions,
+ true
+ );
+ $localeGenerator->generateLocales();
+} catch (\Exception $e) {
+ fwrite(STDERR, (string) $e);
+ exit(1);
+}
diff --git a/composer.json b/composer.json
index c6f8e30e..dff99d7e 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,19 @@
{
"name": "phpoffice/phpspreadsheet",
"description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
- "keywords": ["PHP", "OpenXML", "Excel", "xlsx", "xls", "ods", "gnumeric", "spreadsheet"],
+ "keywords": [
+ "PHP",
+ "OpenXML",
+ "Excel",
+ "xlsx",
+ "xls",
+ "ods",
+ "gnumeric",
+ "spreadsheet"
+ ],
+ "config": {
+ "sort-packages": true
+ },
"homepage": "https://github.com/PHPOffice/PhpSpreadsheet",
"type": "library",
"license": "MIT",
@@ -29,7 +41,8 @@
"check": [
"php-cs-fixer fix --ansi --dry-run --diff",
"phpcs",
- "phpunit --color=always"
+ "phpunit --color=always",
+ "phpstan analyse --ansi"
],
"fix": [
"php-cs-fixer fix --ansi"
@@ -39,35 +52,38 @@
]
},
"require": {
- "php": "^7.2||^8.0",
+ "php": "^7.2 || ^8.0",
"ext-ctype": "*",
"ext-dom": "*",
+ "ext-fileinfo": "*",
"ext-gd": "*",
"ext-iconv": "*",
- "ext-fileinfo": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
- "ext-SimpleXML": "*",
+ "ext-simplexml": "*",
"ext-xml": "*",
"ext-xmlreader": "*",
"ext-xmlwriter": "*",
"ext-zip": "*",
"ext-zlib": "*",
+ "ezyang/htmlpurifier": "^4.13",
"maennchen/zipstream-php": "^2.1",
- "markbaker/complex": "^1.5||^2.0",
- "markbaker/matrix": "^1.2||^2.0",
- "psr/simple-cache": "^1.0",
+ "markbaker/complex": "^3.0",
+ "markbaker/matrix": "^3.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0",
- "ezyang/htmlpurifier": "^4.13"
+ "psr/simple-cache": "^1.0"
},
"require-dev": {
- "dompdf/dompdf": "^0.8.5",
- "friendsofphp/php-cs-fixer": "^2.16",
+ "dealerdirect/phpcodesniffer-composer-installer": "dev-master",
+ "dompdf/dompdf": "^1.0",
+ "friendsofphp/php-cs-fixer": "^2.18",
"jpgraph/jpgraph": "^4.0",
"mpdf/mpdf": "^8.0",
"phpcompatibility/php-compatibility": "^9.3",
- "phpunit/phpunit": "^8.5||^9.3",
+ "phpstan/phpstan": "^0.12.82",
+ "phpstan/phpstan-phpunit": "^0.12.18",
+ "phpunit/phpunit": "^8.5",
"squizlabs/php_codesniffer": "^3.5",
"tecnickcom/tcpdf": "^6.3"
},
@@ -84,7 +100,8 @@
},
"autoload-dev": {
"psr-4": {
- "PhpOffice\\PhpSpreadsheetTests\\": "tests/PhpSpreadsheetTests"
+ "PhpOffice\\PhpSpreadsheetTests\\": "tests/PhpSpreadsheetTests",
+ "PhpOffice\\PhpSpreadsheetInfra\\": "infra"
}
}
}
diff --git a/composer.lock b/composer.lock
index a1fb99b7..f5670fd3 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "458fe4e974b469230da589a8781d1e0e",
+ "content-hash": "08bcc40376dc4b219b21d172e40c622d",
"packages": [
{
"name": "ezyang/htmlpurifier",
@@ -119,20 +119,30 @@
"stream",
"zip"
],
+ "support": {
+ "issues": "https://github.com/maennchen/ZipStream-PHP/issues",
+ "source": "https://github.com/maennchen/ZipStream-PHP/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://opencollective.com/zipstream",
+ "type": "open_collective"
+ }
+ ],
"time": "2020-05-30T13:11:16+00:00"
},
{
"name": "markbaker/complex",
- "version": "2.0.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/MarkBaker/PHPComplex.git",
- "reference": "9999f1432fae467bc93c53f357105b4c31bb994c"
+ "reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/9999f1432fae467bc93c53f357105b4c31bb994c",
- "reference": "9999f1432fae467bc93c53f357105b4c31bb994c",
+ "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/ab8bc271e404909db09ff2d5ffa1e538085c0f22",
+ "reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22",
"shasum": ""
},
"require": {
@@ -141,62 +151,14 @@
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"phpcompatibility/php-compatibility": "^9.0",
- "phpdocumentor/phpdocumentor": "2.*",
- "phploc/phploc": "^4.0",
- "phpmd/phpmd": "2.*",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.3",
- "sebastian/phpcpd": "^4.0",
"squizlabs/php_codesniffer": "^3.4"
},
"type": "library",
"autoload": {
"psr-4": {
"Complex\\": "classes/src/"
- },
- "files": [
- "classes/src/functions/abs.php",
- "classes/src/functions/acos.php",
- "classes/src/functions/acosh.php",
- "classes/src/functions/acot.php",
- "classes/src/functions/acoth.php",
- "classes/src/functions/acsc.php",
- "classes/src/functions/acsch.php",
- "classes/src/functions/argument.php",
- "classes/src/functions/asec.php",
- "classes/src/functions/asech.php",
- "classes/src/functions/asin.php",
- "classes/src/functions/asinh.php",
- "classes/src/functions/atan.php",
- "classes/src/functions/atanh.php",
- "classes/src/functions/conjugate.php",
- "classes/src/functions/cos.php",
- "classes/src/functions/cosh.php",
- "classes/src/functions/cot.php",
- "classes/src/functions/coth.php",
- "classes/src/functions/csc.php",
- "classes/src/functions/csch.php",
- "classes/src/functions/exp.php",
- "classes/src/functions/inverse.php",
- "classes/src/functions/ln.php",
- "classes/src/functions/log2.php",
- "classes/src/functions/log10.php",
- "classes/src/functions/negative.php",
- "classes/src/functions/pow.php",
- "classes/src/functions/rho.php",
- "classes/src/functions/sec.php",
- "classes/src/functions/sech.php",
- "classes/src/functions/sin.php",
- "classes/src/functions/sinh.php",
- "classes/src/functions/sqrt.php",
- "classes/src/functions/tan.php",
- "classes/src/functions/tanh.php",
- "classes/src/functions/theta.php",
- "classes/src/operations/add.php",
- "classes/src/operations/subtract.php",
- "classes/src/operations/multiply.php",
- "classes/src/operations/divideby.php",
- "classes/src/operations/divideinto.php"
- ]
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -214,24 +176,28 @@
"complex",
"mathematics"
],
- "time": "2020-08-26T10:42:07+00:00"
+ "support": {
+ "issues": "https://github.com/MarkBaker/PHPComplex/issues",
+ "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.1"
+ },
+ "time": "2021-06-29T15:32:53+00:00"
},
{
"name": "markbaker/matrix",
- "version": "2.0.0",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/MarkBaker/PHPMatrix.git",
- "reference": "9567d9c4c519fbe40de01dbd1e4469dbbb66f46a"
+ "reference": "c66aefcafb4f6c269510e9ac46b82619a904c576"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/9567d9c4c519fbe40de01dbd1e4469dbbb66f46a",
- "reference": "9567d9c4c519fbe40de01dbd1e4469dbbb66f46a",
+ "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/c66aefcafb4f6c269510e9ac46b82619a904c576",
+ "reference": "c66aefcafb4f6c269510e9ac46b82619a904c576",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
@@ -247,25 +213,7 @@
"autoload": {
"psr-4": {
"Matrix\\": "classes/src/"
- },
- "files": [
- "classes/src/functions/adjoint.php",
- "classes/src/functions/antidiagonal.php",
- "classes/src/functions/cofactors.php",
- "classes/src/functions/determinant.php",
- "classes/src/functions/diagonal.php",
- "classes/src/functions/identity.php",
- "classes/src/functions/inverse.php",
- "classes/src/functions/minors.php",
- "classes/src/functions/trace.php",
- "classes/src/functions/transpose.php",
- "classes/src/operations/add.php",
- "classes/src/operations/directsum.php",
- "classes/src/operations/subtract.php",
- "classes/src/operations/multiply.php",
- "classes/src/operations/divideby.php",
- "classes/src/operations/divideinto.php"
- ]
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -284,20 +232,24 @@
"matrix",
"vector"
],
- "time": "2020-08-28T17:11:00+00:00"
+ "support": {
+ "issues": "https://github.com/MarkBaker/PHPMatrix/issues",
+ "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.0"
+ },
+ "time": "2021-07-01T19:01:15+00:00"
},
{
"name": "myclabs/php-enum",
- "version": "1.7.6",
+ "version": "1.7.7",
"source": {
"type": "git",
"url": "https://github.com/myclabs/php-enum.git",
- "reference": "5f36467c7a87e20fbdc51e524fd8f9d1de80187c"
+ "reference": "d178027d1e679832db9f38248fcc7200647dc2b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/php-enum/zipball/5f36467c7a87e20fbdc51e524fd8f9d1de80187c",
- "reference": "5f36467c7a87e20fbdc51e524fd8f9d1de80187c",
+ "url": "https://api.github.com/repos/myclabs/php-enum/zipball/d178027d1e679832db9f38248fcc7200647dc2b7",
+ "reference": "d178027d1e679832db9f38248fcc7200647dc2b7",
"shasum": ""
},
"require": {
@@ -330,7 +282,21 @@
"keywords": [
"enum"
],
- "time": "2020-02-14T08:15:52+00:00"
+ "support": {
+ "issues": "https://github.com/myclabs/php-enum/issues",
+ "source": "https://github.com/myclabs/php-enum/tree/1.7.7"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/mnapoli",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-14T18:14:52+00:00"
},
{
"name": "psr/http-client",
@@ -379,6 +345,9 @@
"psr",
"psr-18"
],
+ "support": {
+ "source": "https://github.com/php-fig/http-client/tree/master"
+ },
"time": "2020-06-29T06:28:15+00:00"
},
{
@@ -431,6 +400,9 @@
"request",
"response"
],
+ "support": {
+ "source": "https://github.com/php-fig/http-factory/tree/master"
+ },
"time": "2019-04-30T12:38:16+00:00"
},
{
@@ -481,6 +453,9 @@
"request",
"response"
],
+ "support": {
+ "source": "https://github.com/php-fig/http-message/tree/master"
+ },
"time": "2016-08-06T14:39:51+00:00"
},
{
@@ -529,24 +504,27 @@
"psr-16",
"simple-cache"
],
+ "support": {
+ "source": "https://github.com/php-fig/simple-cache/tree/master"
+ },
"time": "2017-10-23T01:57:42+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.18.1",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a"
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a",
- "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-mbstring": "For best performance"
@@ -554,7 +532,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -592,6 +570,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -606,34 +587,35 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2021-05-27T12:26:48+00:00"
}
],
"packages-dev": [
{
"name": "composer/semver",
- "version": "1.7.1",
+ "version": "3.2.6",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "38276325bd896f90dfcfe30029aa5db40df387a7"
+ "reference": "83e511e247de329283478496f7a1e114c9517506"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/38276325bd896f90dfcfe30029aa5db40df387a7",
- "reference": "38276325bd896f90dfcfe30029aa5db40df387a7",
+ "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
+ "reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": ""
},
"require": {
- "php": "^5.3.2 || ^7.0"
+ "php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.5 || ^5.0.5"
+ "phpstan/phpstan": "^0.12.54",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.x-dev"
+ "dev-main": "3.x-dev"
}
},
"autoload": {
@@ -669,6 +651,11 @@
"validation",
"versioning"
],
+ "support": {
+ "irc": "irc://irc.freenode.org/composer",
+ "issues": "https://github.com/composer/semver/issues",
+ "source": "https://github.com/composer/semver/tree/3.2.6"
+ },
"funding": [
{
"url": "https://packagist.com",
@@ -683,28 +670,29 @@
"type": "tidelift"
}
],
- "time": "2020-09-27T13:13:07+00:00"
+ "time": "2021-10-25T11:34:17+00:00"
},
{
"name": "composer/xdebug-handler",
- "version": "1.4.3",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
- "reference": "ebd27a9866ae8254e873866f795491f02418c5a5"
+ "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ebd27a9866ae8254e873866f795491f02418c5a5",
- "reference": "ebd27a9866ae8254e873866f795491f02418c5a5",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339",
+ "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0",
- "psr/log": "^1.0"
+ "psr/log": "^1 || ^2 || ^3"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8"
+ "phpstan/phpstan": "^0.12.55",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"autoload": {
@@ -727,6 +715,11 @@
"Xdebug",
"performance"
],
+ "support": {
+ "irc": "irc://irc.freenode.org/composer",
+ "issues": "https://github.com/composer/xdebug-handler/issues",
+ "source": "https://github.com/composer/xdebug-handler/tree/2.0.2"
+ },
"funding": [
{
"url": "https://packagist.com",
@@ -741,38 +734,107 @@
"type": "tidelift"
}
],
- "time": "2020-08-19T10:27:58+00:00"
+ "time": "2021-07-31T17:03:58+00:00"
},
{
- "name": "doctrine/annotations",
- "version": "1.10.4",
+ "name": "dealerdirect/phpcodesniffer-composer-installer",
+ "version": "dev-master",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/annotations.git",
- "reference": "bfe91e31984e2ba76df1c1339681770401ec262f"
+ "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
+ "reference": "7d5cb8826ed72d4ca4c07acf005bba2282e5a7c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/bfe91e31984e2ba76df1c1339681770401ec262f",
- "reference": "bfe91e31984e2ba76df1c1339681770401ec262f",
+ "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/7d5cb8826ed72d4ca4c07acf005bba2282e5a7c7",
+ "reference": "7d5cb8826ed72d4ca4c07acf005bba2282e5a7c7",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0 || ^2.0",
+ "php": ">=5.3",
+ "squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "composer/composer": "*",
+ "php-parallel-lint/php-parallel-lint": "^1.3",
+ "phpcompatibility/php-compatibility": "^9.0"
+ },
+ "default-branch": true,
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
+ },
+ "autoload": {
+ "psr-4": {
+ "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Franck Nijhof",
+ "email": "franck.nijhof@dealerdirect.com",
+ "homepage": "http://www.frenck.nl",
+ "role": "Developer / IT Manager"
+ }
+ ],
+ "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
+ "homepage": "http://www.dealerdirect.com",
+ "keywords": [
+ "PHPCodeSniffer",
+ "PHP_CodeSniffer",
+ "code quality",
+ "codesniffer",
+ "composer",
+ "installer",
+ "phpcs",
+ "plugin",
+ "qa",
+ "quality",
+ "standard",
+ "standards",
+ "style guide",
+ "stylecheck",
+ "tests"
+ ],
+ "support": {
+ "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues",
+ "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer"
+ },
+ "time": "2021-08-16T14:43:41+00:00"
+ },
+ {
+ "name": "doctrine/annotations",
+ "version": "1.13.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/annotations.git",
+ "reference": "5b668aef16090008790395c02c893b1ba13f7e08"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08",
+ "reference": "5b668aef16090008790395c02c893b1ba13f7e08",
"shasum": ""
},
"require": {
"doctrine/lexer": "1.*",
"ext-tokenizer": "*",
- "php": "^7.1 || ^8.0"
+ "php": "^7.1 || ^8.0",
+ "psr/cache": "^1 || ^2 || ^3"
},
"require-dev": {
- "doctrine/cache": "1.*",
+ "doctrine/cache": "^1.11 || ^2.0",
+ "doctrine/coding-standard": "^6.0 || ^8.1",
"phpstan/phpstan": "^0.12.20",
- "phpunit/phpunit": "^7.5 || ^9.1.5"
+ "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5",
+ "symfony/cache": "^4.4 || ^5.2"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
@@ -805,46 +867,45 @@
}
],
"description": "Docblock Annotations Parser",
- "homepage": "http://www.doctrine-project.org",
+ "homepage": "https://www.doctrine-project.org/projects/annotations.html",
"keywords": [
"annotations",
"docblock",
"parser"
],
- "time": "2020-08-10T19:35:50+00:00"
+ "support": {
+ "issues": "https://github.com/doctrine/annotations/issues",
+ "source": "https://github.com/doctrine/annotations/tree/1.13.2"
+ },
+ "time": "2021-08-05T19:00:23+00:00"
},
{
"name": "doctrine/instantiator",
- "version": "1.3.1",
+ "version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "f350df0268e904597e3bd9c4685c53e0e333feea"
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea",
- "reference": "f350df0268e904597e3bd9c4685c53e0e333feea",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0",
+ "doctrine/coding-standard": "^8.0",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^0.13",
- "phpstan/phpstan-phpunit": "^0.11",
- "phpstan/phpstan-shim": "^0.11",
- "phpunit/phpunit": "^7.0"
+ "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-phpunit": "^0.12",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
@@ -858,7 +919,7 @@
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
+ "homepage": "https://ocramius.github.io/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
@@ -867,7 +928,25 @@
"constructor",
"instantiate"
],
- "time": "2020-05-29T17:27:14+00:00"
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-10T18:47:58+00:00"
},
{
"name": "doctrine/lexer",
@@ -929,20 +1008,38 @@
"parser",
"php"
],
+ "support": {
+ "issues": "https://github.com/doctrine/lexer/issues",
+ "source": "https://github.com/doctrine/lexer/tree/1.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer",
+ "type": "tidelift"
+ }
+ ],
"time": "2020-05-25T17:44:05+00:00"
},
{
"name": "dompdf/dompdf",
- "version": "v0.8.6",
+ "version": "v1.0.2",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
- "reference": "db91d81866c69a42dad1d2926f61515a1e3f42c5"
+ "reference": "8768448244967a46d6e67b891d30878e0e15d25c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/db91d81866c69a42dad1d2926f61515a1e3f42c5",
- "reference": "db91d81866c69a42dad1d2926f61515a1e3f42c5",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/8768448244967a46d6e67b891d30878e0e15d25c",
+ "reference": "8768448244967a46d6e67b891d30878e0e15d25c",
"shasum": ""
},
"require": {
@@ -950,11 +1047,11 @@
"ext-mbstring": "*",
"phenx/php-font-lib": "^0.5.2",
"phenx/php-svg-lib": "^0.3.3",
- "php": "^7.1"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
"mockery/mockery": "^1.3",
- "phpunit/phpunit": "^7.5",
+ "phpunit/phpunit": "^7.5 || ^8 || ^9",
"squizlabs/php_codesniffer": "^3.5"
},
"suggest": {
@@ -997,31 +1094,35 @@
],
"description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
"homepage": "https://github.com/dompdf/dompdf",
- "time": "2020-08-30T22:54:22+00:00"
+ "support": {
+ "issues": "https://github.com/dompdf/dompdf/issues",
+ "source": "https://github.com/dompdf/dompdf/tree/v1.0.2"
+ },
+ "time": "2021-01-08T14:18:52+00:00"
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v2.16.4",
+ "version": "v2.19.2",
"source": {
"type": "git",
"url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
- "reference": "1023c3458137ab052f6ff1e09621a721bfdeca13"
+ "reference": "d5c737c2e18ba502b75b44832b31fe627f82e307"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/1023c3458137ab052f6ff1e09621a721bfdeca13",
- "reference": "1023c3458137ab052f6ff1e09621a721bfdeca13",
+ "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/d5c737c2e18ba502b75b44832b31fe627f82e307",
+ "reference": "d5c737c2e18ba502b75b44832b31fe627f82e307",
"shasum": ""
},
"require": {
- "composer/semver": "^1.4",
- "composer/xdebug-handler": "^1.2",
+ "composer/semver": "^1.4 || ^2.0 || ^3.0",
+ "composer/xdebug-handler": "^1.2 || ^2.0",
"doctrine/annotations": "^1.2",
"ext-json": "*",
"ext-tokenizer": "*",
- "php": "^5.6 || ^7.0",
+ "php": "^5.6 || ^7.0 || ^8.0",
"php-cs-fixer/diff": "^1.3",
- "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0",
+ "symfony/console": "^3.4.43 || ^4.1.6 || ^5.0",
"symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0",
"symfony/filesystem": "^3.0 || ^4.0 || ^5.0",
"symfony/finder": "^3.0 || ^4.0 || ^5.0",
@@ -1032,17 +1133,19 @@
"symfony/stopwatch": "^3.0 || ^4.0 || ^5.0"
},
"require-dev": {
- "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0",
"justinrainbow/json-schema": "^5.0",
- "keradus/cli-executor": "^1.2",
+ "keradus/cli-executor": "^1.4",
"mikey179/vfsstream": "^1.6",
- "php-coveralls/php-coveralls": "^2.1",
+ "php-coveralls/php-coveralls": "^2.4.2",
"php-cs-fixer/accessible-object": "^1.0",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.1",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.1",
- "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.1",
- "phpunitgoodpractices/traits": "^1.8",
- "symfony/phpunit-bridge": "^5.1",
+ "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2",
+ "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1",
+ "phpspec/prophecy-phpunit": "^1.1 || ^2.0",
+ "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.13 || ^9.5",
+ "phpunitgoodpractices/polyfill": "^1.5",
+ "phpunitgoodpractices/traits": "^1.9.1",
+ "sanmai/phpunit-legacy-adapter": "^6.4 || ^8.2.1",
+ "symfony/phpunit-bridge": "^5.2.1",
"symfony/yaml": "^3.0 || ^4.0 || ^5.0"
},
"suggest": {
@@ -1056,6 +1159,11 @@
"php-cs-fixer"
],
"type": "application",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.19-dev"
+ }
+ },
"autoload": {
"psr-4": {
"PhpCsFixer\\": "src/"
@@ -1070,6 +1178,7 @@
"tests/Test/IntegrationCaseFactoryInterface.php",
"tests/Test/InternalIntegrationCaseFactory.php",
"tests/Test/IsIdenticalConstraint.php",
+ "tests/Test/TokensWithObservedTransformers.php",
"tests/TestCase.php"
]
},
@@ -1088,7 +1197,17 @@
}
],
"description": "A tool to automatically fix PHP code style",
- "time": "2020-06-27T23:57:46+00:00"
+ "support": {
+ "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues",
+ "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.19.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/keradus",
+ "type": "github"
+ }
+ ],
+ "time": "2021-08-18T19:55:46+00:00"
},
{
"name": "jpgraph/jpgraph",
@@ -1128,38 +1247,42 @@
"jpgraph",
"pie"
],
+ "support": {
+ "issues": "https://github.com/ztec/JpGraph/issues",
+ "source": "https://github.com/ztec/JpGraph/tree/4.x"
+ },
"abandoned": true,
"time": "2017-02-23T09:44:15+00:00"
},
{
"name": "mpdf/mpdf",
- "version": "v8.0.7",
+ "version": "v8.0.13",
"source": {
"type": "git",
"url": "https://github.com/mpdf/mpdf.git",
- "reference": "7daf07f15334ed59a276bd52131dcca48794cdbd"
+ "reference": "42f145615cfe830fd432474da1d2e1f927efe402"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mpdf/mpdf/zipball/7daf07f15334ed59a276bd52131dcca48794cdbd",
- "reference": "7daf07f15334ed59a276bd52131dcca48794cdbd",
+ "url": "https://api.github.com/repos/mpdf/mpdf/zipball/42f145615cfe830fd432474da1d2e1f927efe402",
+ "reference": "42f145615cfe830fd432474da1d2e1f927efe402",
"shasum": ""
},
"require": {
"ext-gd": "*",
"ext-mbstring": "*",
"myclabs/deep-copy": "^1.7",
- "paragonie/random_compat": "^1.4|^2.0|9.99.99",
- "php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0",
+ "paragonie/random_compat": "^1.4|^2.0|^9.99.99",
+ "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0",
"psr/log": "^1.0",
"setasign/fpdi": "^2.1"
},
"require-dev": {
- "mockery/mockery": "^0.9.5",
- "mpdf/qrcode": "^1.0.0",
- "phpunit/phpunit": "^5.0",
+ "mockery/mockery": "^1.3.0",
+ "mpdf/qrcode": "^1.1.0",
"squizlabs/php_codesniffer": "^3.5.0",
- "tracy/tracy": "^2.4"
+ "tracy/tracy": "^2.4",
+ "yoast/phpunit-polyfills": "^1.0"
},
"suggest": {
"ext-bcmath": "Needed for generation of some types of barcodes",
@@ -1167,11 +1290,6 @@
"ext-zlib": "Needed for compression of embedded resources, such as fonts"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-development": "7.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Mpdf\\": "src/"
@@ -1198,26 +1316,31 @@
"php",
"utf-8"
],
+ "support": {
+ "docs": "http://mpdf.github.io",
+ "issues": "https://github.com/mpdf/mpdf/issues",
+ "source": "https://github.com/mpdf/mpdf"
+ },
"funding": [
{
"url": "https://www.paypal.me/mpdf",
"type": "custom"
}
],
- "time": "2020-07-15T09:48:00+00:00"
+ "time": "2021-09-10T10:09:59+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.10.1",
+ "version": "1.10.2",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5"
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
- "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
"shasum": ""
},
"require": {
@@ -1252,30 +1375,34 @@
"object",
"object graph"
],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ },
"funding": [
{
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
"type": "tidelift"
}
],
- "time": "2020-06-29T13:22:24+00:00"
+ "time": "2020-11-13T09:40:50+00:00"
},
{
"name": "paragonie/random_compat",
- "version": "v9.99.99",
+ "version": "v9.99.100",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
+ "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a",
+ "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a",
"shasum": ""
},
"require": {
- "php": "^7"
+ "php": ">= 7"
},
"require-dev": {
"phpunit/phpunit": "4.*|5.*",
@@ -1303,32 +1430,38 @@
"pseudorandom",
"random"
],
- "time": "2018-07-02T15:55:56+00:00"
+ "support": {
+ "email": "info@paragonie.com",
+ "issues": "https://github.com/paragonie/random_compat/issues",
+ "source": "https://github.com/paragonie/random_compat"
+ },
+ "time": "2020-10-15T08:29:30+00:00"
},
{
"name": "phar-io/manifest",
- "version": "1.0.3",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-phar": "*",
- "phar-io/version": "^2.0",
- "php": "^5.6 || ^7.0"
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -1358,24 +1491,28 @@
}
],
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "time": "2018-07-08T19:23:20+00:00"
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ },
+ "time": "2021-07-20T11:28:43+00:00"
},
{
"name": "phar-io/version",
- "version": "2.0.1",
+ "version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/phar-io/version.git",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
+ "reference": "bae7c545bef187884426f042434e561ab1ddb182"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182",
+ "reference": "bae7c545bef187884426f042434e561ab1ddb182",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"autoload": {
@@ -1405,7 +1542,11 @@
}
],
"description": "Library for handling version information and constraints",
- "time": "2018-07-08T19:19:57+00:00"
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.1.0"
+ },
+ "time": "2021-02-23T14:00:09+00:00"
},
{
"name": "phenx/php-font-lib",
@@ -1442,6 +1583,10 @@
],
"description": "A library to read, parse, export and make subsets of different types of font files.",
"homepage": "https://github.com/PhenX/php-font-lib",
+ "support": {
+ "issues": "https://github.com/PhenX/php-font-lib/issues",
+ "source": "https://github.com/PhenX/php-font-lib/tree/0.5.2"
+ },
"time": "2020-03-08T15:31:32+00:00"
},
{
@@ -1482,6 +1627,10 @@
],
"description": "A library to read, parse and export to PDF SVG files.",
"homepage": "https://github.com/PhenX/php-svg-lib",
+ "support": {
+ "issues": "https://github.com/PhenX/php-svg-lib/issues",
+ "source": "https://github.com/PhenX/php-svg-lib/tree/master"
+ },
"time": "2019-09-11T20:02:13+00:00"
},
{
@@ -1533,6 +1682,10 @@
"keywords": [
"diff"
],
+ "support": {
+ "issues": "https://github.com/PHP-CS-Fixer/diff/issues",
+ "source": "https://github.com/PHP-CS-Fixer/diff/tree/v1.3.1"
+ },
"time": "2020-10-14T08:39:05+00:00"
},
{
@@ -1591,6 +1744,10 @@
"phpcs",
"standards"
],
+ "support": {
+ "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues",
+ "source": "https://github.com/PHPCompatibility/PHPCompatibility"
+ },
"time": "2019-12-27T09:44:58+00:00"
},
{
@@ -1640,20 +1797,24 @@
"reflection",
"static analysis"
],
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
"time": "2020-06-27T09:03:43+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.2.2",
+ "version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": ""
},
"require": {
@@ -1664,7 +1825,8 @@
"webmozart/assert": "^1.9.1"
},
"require-dev": {
- "mockery/mockery": "~1.3.2"
+ "mockery/mockery": "~1.3.2",
+ "psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1692,20 +1854,24 @@
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2020-09-03T19:13:55+00:00"
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
+ },
+ "time": "2021-10-19T17:43:47+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.4.0",
+ "version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": ""
},
"require": {
@@ -1713,7 +1879,8 @@
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
- "ext-tokenizer": "*"
+ "ext-tokenizer": "*",
+ "psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1737,37 +1904,41 @@
}
],
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
- "time": "2020-09-17T18:55:26+00:00"
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
+ },
+ "time": "2021-10-02T14:08:47+00:00"
},
{
"name": "phpspec/prophecy",
- "version": "1.12.1",
+ "version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d"
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d",
- "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.2",
- "php": "^7.2 || ~8.0, <8.1",
+ "php": "^7.2 || ~8.0, <8.2",
"phpdocumentor/reflection-docblock": "^5.2",
"sebastian/comparator": "^3.0 || ^4.0",
"sebastian/recursion-context": "^3.0 || ^4.0"
},
"require-dev": {
- "phpspec/phpspec": "^6.0",
- "phpunit/phpunit": "^8.0 || ^9.0 <9.3"
+ "phpspec/phpspec": "^6.0 || ^7.0",
+ "phpunit/phpunit": "^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.11.x-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
@@ -1800,29 +1971,151 @@
"spy",
"stub"
],
- "time": "2020-09-29T09:10:42+00:00"
+ "support": {
+ "issues": "https://github.com/phpspec/prophecy/issues",
+ "source": "https://github.com/phpspec/prophecy/tree/1.14.0"
+ },
+ "time": "2021-09-10T09:02:12+00:00"
},
{
- "name": "phpunit/php-code-coverage",
- "version": "7.0.10",
+ "name": "phpstan/phpstan",
+ "version": "0.12.99",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf"
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "b4d40f1d759942f523be267a1bab6884f46ca3f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf",
- "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b4d40f1d759942f523be267a1bab6884f46ca3f7",
+ "reference": "b4d40f1d759942f523be267a1bab6884f46ca3f7",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1|^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
+ },
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "0.12-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "source": "https://github.com/phpstan/phpstan/tree/0.12.99"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/phpstan",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-09-12T20:09:55+00:00"
+ },
+ {
+ "name": "phpstan/phpstan-phpunit",
+ "version": "0.12.22",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan-phpunit.git",
+ "reference": "7c01ef93bf128b4ac8bdad38c54b2a4fd6b0b3cc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/7c01ef93bf128b4ac8bdad38c54b2a4fd6b0b3cc",
+ "reference": "7c01ef93bf128b4ac8bdad38c54b2a4fd6b0b3cc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0",
+ "phpstan/phpstan": "^0.12.92"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<7.0"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpstan-strict-rules": "^0.12.6",
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "0.12-dev"
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon",
+ "rules.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPUnit extensions and rules for PHPStan",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan-phpunit/issues",
+ "source": "https://github.com/phpstan/phpstan-phpunit/tree/0.12.22"
+ },
+ "time": "2021-08-12T10:53:43+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "7.0.15",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "819f92bba8b001d4363065928088de22f25a3a48"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/819f92bba8b001d4363065928088de22f25a3a48",
+ "reference": "819f92bba8b001d4363065928088de22f25a3a48",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-xmlwriter": "*",
- "php": "^7.2",
+ "php": ">=7.2",
"phpunit/php-file-iterator": "^2.0.2",
"phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^3.1.1",
+ "phpunit/php-token-stream": "^3.1.3 || ^4.0",
"sebastian/code-unit-reverse-lookup": "^1.0.1",
"sebastian/environment": "^4.2.2",
"sebastian/version": "^2.0.1",
@@ -1863,27 +2156,37 @@
"testing",
"xunit"
],
- "time": "2019-11-20T13:55:58+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-07-26T12:20:09+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "2.0.2",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "050bedf145a257b1ff02746c31894800e5122946"
+ "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
- "reference": "050bedf145a257b1ff02746c31894800e5122946",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/28af674ff175d0768a5a978e6de83f697d4a7f05",
+ "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.1"
},
"require-dev": {
- "phpunit/phpunit": "^7.1"
+ "phpunit/phpunit": "^8.5"
},
"type": "library",
"extra": {
@@ -1913,7 +2216,17 @@
"filesystem",
"iterator"
],
- "time": "2018-09-13T20:33:42+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-07-19T06:46:01+00:00"
},
{
"name": "phpunit/php-text-template",
@@ -1954,27 +2267,31 @@
"keywords": [
"template"
],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
+ },
"time": "2015-06-21T13:50:34+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "2.1.2",
+ "version": "2.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "1038454804406b0b5f5f520358e78c1c2f71501e"
+ "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e",
- "reference": "1038454804406b0b5f5f520358e78c1c2f71501e",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662",
+ "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.1"
},
"require-dev": {
- "phpunit/phpunit": "^7.0"
+ "phpunit/phpunit": "^8.5"
},
"type": "library",
"extra": {
@@ -2003,25 +2320,35 @@
"keywords": [
"timer"
],
- "time": "2019-06-07T04:22:29+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T08:20:02+00:00"
},
{
"name": "phpunit/php-token-stream",
- "version": "3.1.1",
+ "version": "3.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff"
+ "reference": "9c1da83261628cb24b6a6df371b6e312b3954768"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff",
- "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/9c1da83261628cb24b6a6df371b6e312b3954768",
+ "reference": "9c1da83261628cb24b6a6df371b6e312b3954768",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
- "php": "^7.1"
+ "php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
@@ -2052,43 +2379,54 @@
"keywords": [
"tokenizer"
],
- "time": "2019-09-17T06:23:10+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
+ "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "abandoned": true,
+ "time": "2021-07-26T12:15:06+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "8.5.8",
+ "version": "8.5.21",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "34c18baa6a44f1d1fbf0338907139e9dce95b997"
+ "reference": "50a58a60b85947b0bee4c8ecfe0f4bbdcf20e984"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/34c18baa6a44f1d1fbf0338907139e9dce95b997",
- "reference": "34c18baa6a44f1d1fbf0338907139e9dce95b997",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/50a58a60b85947b0bee4c8ecfe0f4bbdcf20e984",
+ "reference": "50a58a60b85947b0bee4c8ecfe0f4bbdcf20e984",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.2.0",
+ "doctrine/instantiator": "^1.3.1",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.9.1",
- "phar-io/manifest": "^1.0.3",
- "phar-io/version": "^2.0.1",
- "php": "^7.2",
- "phpspec/prophecy": "^1.8.1",
- "phpunit/php-code-coverage": "^7.0.7",
- "phpunit/php-file-iterator": "^2.0.2",
+ "myclabs/deep-copy": "^1.10.0",
+ "phar-io/manifest": "^2.0.3",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.2",
+ "phpspec/prophecy": "^1.10.3",
+ "phpunit/php-code-coverage": "^7.0.12",
+ "phpunit/php-file-iterator": "^2.0.4",
"phpunit/php-text-template": "^1.2.1",
"phpunit/php-timer": "^2.1.2",
"sebastian/comparator": "^3.0.2",
"sebastian/diff": "^3.0.2",
- "sebastian/environment": "^4.2.2",
- "sebastian/exporter": "^3.1.1",
+ "sebastian/environment": "^4.2.3",
+ "sebastian/exporter": "^3.1.2",
"sebastian/global-state": "^3.0.0",
"sebastian/object-enumerator": "^3.0.3",
"sebastian/resource-operations": "^2.0.1",
@@ -2135,20 +2473,34 @@
"testing",
"xunit"
],
- "time": "2020-06-22T07:06:58+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.21"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/donate.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-09-25T07:37:20+00:00"
},
{
- "name": "psr/container",
- "version": "1.0.0",
+ "name": "psr/cache",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
"shasum": ""
},
"require": {
@@ -2162,7 +2514,7 @@
},
"autoload": {
"psr-4": {
- "Psr\\Container\\": "src/"
+ "Psr\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2175,6 +2527,50 @@
"homepage": "http://www.php-fig.org/"
}
],
+ "description": "Common interface for caching libraries",
+ "keywords": [
+ "cache",
+ "psr",
+ "psr-6"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/cache/tree/master"
+ },
+ "time": "2016-08-06T20:24:11+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
"description": "Common Container Interface (PHP FIG PSR-11)",
"homepage": "https://github.com/php-fig/container",
"keywords": [
@@ -2184,7 +2580,11 @@
"container-interop",
"psr"
],
- "time": "2017-02-14T16:28:37+00:00"
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/1.1.1"
+ },
+ "time": "2021-03-05T17:36:06+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -2230,20 +2630,24 @@
"psr",
"psr-14"
],
+ "support": {
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
+ },
"time": "2019-01-08T18:20:26+00:00"
},
{
"name": "psr/log",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
@@ -2267,7 +2671,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -2277,7 +2681,10 @@
"psr",
"psr-3"
],
- "time": "2020-03-23T09:12:05+00:00"
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
+ },
+ "time": "2021-05-03T11:20:27+00:00"
},
{
"name": "sabberworm/php-css-parser",
@@ -2322,27 +2729,31 @@
"parser",
"stylesheet"
],
+ "support": {
+ "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues",
+ "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.3.1"
+ },
"time": "2020-06-01T09:10:00+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "1.0.1",
+ "version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
+ "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619",
+ "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": ">=5.6"
},
"require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.0"
+ "phpunit/phpunit": "^8.5"
},
"type": "library",
"extra": {
@@ -2367,29 +2778,39 @@
],
"description": "Looks up which function or method a line of code belongs to",
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "time": "2017-03-04T06:30:41+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T08:15:22+00:00"
},
{
"name": "sebastian/comparator",
- "version": "3.0.2",
+ "version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
+ "reference": "1071dfcef776a57013124ff35e1fc41ccd294758"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758",
+ "reference": "1071dfcef776a57013124ff35e1fc41ccd294758",
"shasum": ""
},
"require": {
- "php": "^7.1",
+ "php": ">=7.1",
"sebastian/diff": "^3.0",
"sebastian/exporter": "^3.1"
},
"require-dev": {
- "phpunit/phpunit": "^7.1"
+ "phpunit/phpunit": "^8.5"
},
"type": "library",
"extra": {
@@ -2407,6 +2828,10 @@
"BSD-3-Clause"
],
"authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
{
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
@@ -2418,10 +2843,6 @@
{
"name": "Bernhard Schussek",
"email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
}
],
"description": "Provides the functionality to compare PHP values for equality",
@@ -2431,24 +2852,34 @@
"compare",
"equality"
],
- "time": "2018-07-12T15:12:46+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T08:04:30+00:00"
},
{
"name": "sebastian/diff",
- "version": "3.0.2",
+ "version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29"
+ "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211",
+ "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.5 || ^8.0",
@@ -2470,13 +2901,13 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
}
],
"description": "Diff implementation",
@@ -2487,24 +2918,34 @@
"unidiff",
"unified diff"
],
- "time": "2019-02-04T06:01:07+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:59:04+00:00"
},
{
"name": "sebastian/environment",
- "version": "4.2.3",
+ "version": "4.2.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368"
+ "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368",
- "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0",
+ "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.5"
@@ -2540,24 +2981,34 @@
"environment",
"hhvm"
],
- "time": "2019-11-20T08:46:58+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:53:42+00:00"
},
{
"name": "sebastian/exporter",
- "version": "3.1.2",
+ "version": "3.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e"
+ "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e",
- "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e",
+ "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e",
"shasum": ""
},
"require": {
- "php": "^7.0",
+ "php": ">=7.0",
"sebastian/recursion-context": "^3.0"
},
"require-dev": {
@@ -2607,24 +3058,34 @@
"export",
"exporter"
],
- "time": "2019-09-14T09:02:43+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:47:53+00:00"
},
{
"name": "sebastian/global-state",
- "version": "3.0.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4"
+ "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
- "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/474fb9edb7ab891665d3bfc6317f42a0a150454b",
+ "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b",
"shasum": ""
},
"require": {
- "php": "^7.2",
+ "php": ">=7.2",
"sebastian/object-reflector": "^1.1.1",
"sebastian/recursion-context": "^3.0"
},
@@ -2661,24 +3122,34 @@
"keywords": [
"global state"
],
- "time": "2019-02-01T05:30:01+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:43:24+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "3.0.3",
+ "version": "3.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
+ "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2",
+ "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2",
"shasum": ""
},
"require": {
- "php": "^7.0",
+ "php": ">=7.0",
"sebastian/object-reflector": "^1.1.1",
"sebastian/recursion-context": "^3.0"
},
@@ -2708,24 +3179,34 @@
],
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "time": "2017-08-03T12:35:26+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:40:27+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "1.1.1",
+ "version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "773f97c67f28de00d397be301821b06708fca0be"
+ "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
- "reference": "773f97c67f28de00d397be301821b06708fca0be",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d",
+ "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d",
"shasum": ""
},
"require": {
- "php": "^7.0"
+ "php": ">=7.0"
},
"require-dev": {
"phpunit/phpunit": "^6.0"
@@ -2753,24 +3234,34 @@
],
"description": "Allows reflection of object attributes, including inherited and non-public ones",
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "time": "2017-03-29T09:07:27+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:37:18+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "3.0.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
+ "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb",
+ "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb",
"shasum": ""
},
"require": {
- "php": "^7.0"
+ "php": ">=7.0"
},
"require-dev": {
"phpunit/phpunit": "^6.0"
@@ -2791,14 +3282,14 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
{
"name": "Adam Harvey",
"email": "aharvey@php.net"
@@ -2806,24 +3297,34 @@
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2017-03-03T06:23:57+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:34:24+00:00"
},
{
"name": "sebastian/resource-operations",
- "version": "2.0.1",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
+ "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3",
+ "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
@@ -2848,24 +3349,34 @@
],
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "time": "2018-10-04T04:07:39+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:30:19+00:00"
},
{
"name": "sebastian/type",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3"
+ "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3",
- "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0150cfbc4495ed2df3872fb31b26781e4e077eb4",
+ "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4",
"shasum": ""
},
"require": {
- "php": "^7.2"
+ "php": ">=7.2"
},
"require-dev": {
"phpunit/phpunit": "^8.2"
@@ -2894,7 +3405,17 @@
],
"description": "Collection of value objects that represent the types of the PHP type system",
"homepage": "https://github.com/sebastianbergmann/type",
- "time": "2019-07-02T08:10:15+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/1.1.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-30T07:25:11+00:00"
},
{
"name": "sebastian/version",
@@ -2937,25 +3458,29 @@
],
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/master"
+ },
"time": "2016-10-03T07:35:21+00:00"
},
{
"name": "setasign/fpdi",
- "version": "v2.3.4",
+ "version": "v2.3.6",
"source": {
"type": "git",
"url": "https://github.com/Setasign/FPDI.git",
- "reference": "2b5fb811c04f937ef257ef3f798cebeded33c136"
+ "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Setasign/FPDI/zipball/2b5fb811c04f937ef257ef3f798cebeded33c136",
- "reference": "2b5fb811c04f937ef257ef3f798cebeded33c136",
+ "url": "https://api.github.com/repos/Setasign/FPDI/zipball/6231e315f73e4f62d72b73f3d6d78ff0eed93c31",
+ "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31",
"shasum": ""
},
"require": {
"ext-zlib": "*",
- "php": "^5.6 || ^7.0"
+ "php": "^5.6 || ^7.0 || ^8.0"
},
"conflict": {
"setasign/tfpdf": "<1.31"
@@ -2999,26 +3524,30 @@
"fpdi",
"pdf"
],
+ "support": {
+ "issues": "https://github.com/Setasign/FPDI/issues",
+ "source": "https://github.com/Setasign/FPDI/tree/v2.3.6"
+ },
"funding": [
{
"url": "https://tidelift.com/funding/github/packagist/setasign/fpdi",
"type": "tidelift"
}
],
- "time": "2020-08-27T06:55:47+00:00"
+ "time": "2021-02-11T11:37:01+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.5.6",
+ "version": "3.6.1",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "e97627871a7eab2f70e59166072a6b767d5834e0"
+ "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/e97627871a7eab2f70e59166072a6b767d5834e0",
- "reference": "e97627871a7eab2f70e59166072a6b767d5834e0",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/f268ca40d54617c6e06757f83f699775c9b3ff2e",
+ "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e",
"shasum": ""
},
"require": {
@@ -3056,31 +3585,38 @@
"phpcs",
"standards"
],
- "time": "2020-08-10T04:50:15+00:00"
+ "support": {
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ },
+ "time": "2021-10-11T04:00:11+00:00"
},
{
"name": "symfony/console",
- "version": "v5.1.7",
+ "version": "v5.3.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8"
+ "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
- "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
+ "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
+ "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.15",
+ "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2",
"symfony/string": "^5.1"
},
"conflict": {
+ "psr/log": ">=3",
"symfony/dependency-injection": "<4.4",
"symfony/dotenv": "<5.1",
"symfony/event-dispatcher": "<4.4",
@@ -3088,10 +3624,10 @@
"symfony/process": "<4.4"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/event-dispatcher": "^4.4|^5.0",
@@ -3106,11 +3642,6 @@
"symfony/process": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
@@ -3133,8 +3664,17 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Console Component",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command line",
+ "console",
+ "terminal"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v5.3.10"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3149,20 +3689,20 @@
"type": "tidelift"
}
],
- "time": "2020-10-07T15:23:00+00:00"
+ "time": "2021-10-26T09:30:15+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.2.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
+ "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+ "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"shasum": ""
},
"require": {
@@ -3171,7 +3711,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3199,6 +3739,9 @@
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3213,27 +3756,27 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.1.7",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "d5de97d6af175a9e8131c546db054ca32842dd0f"
+ "reference": "ce7b20d69c66a20939d8952b617506a44d102130"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d5de97d6af175a9e8131c546db054ca32842dd0f",
- "reference": "d5de97d6af175a9e8131c546db054ca32842dd0f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ce7b20d69c66a20939d8952b617506a44d102130",
+ "reference": "ce7b20d69c66a20939d8952b617506a44d102130",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/event-dispatcher-contracts": "^2",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/dependency-injection": "<4.4"
@@ -3243,7 +3786,7 @@
"symfony/event-dispatcher-implementation": "2.0"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2|^3",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/error-handler": "^4.4|^5.0",
@@ -3257,11 +3800,6 @@
"symfony/http-kernel": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\EventDispatcher\\": ""
@@ -3284,8 +3822,11 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony EventDispatcher Component",
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.7"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3300,20 +3841,20 @@
"type": "tidelift"
}
],
- "time": "2020-09-18T14:27:32+00:00"
+ "time": "2021-08-04T21:20:46+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.2.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2"
+ "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11",
+ "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11",
"shasum": ""
},
"require": {
@@ -3326,7 +3867,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3362,6 +3903,9 @@
"interoperability",
"standards"
],
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3376,32 +3920,28 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.1.7",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae"
+ "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/1a8697545a8d87b9f2f6b1d32414199cc5e20aae",
- "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/343f4fe324383ca46792cae728a3b6e2f708fb32",
+ "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8"
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Filesystem\\": ""
@@ -3424,8 +3964,11 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Filesystem Component",
+ "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/filesystem/tree/v5.3.4"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3440,31 +3983,27 @@
"type": "tidelift"
}
],
- "time": "2020-09-27T14:02:37+00:00"
+ "time": "2021-07-21T12:40:44+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.1.7",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8"
+ "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8",
- "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
+ "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Finder\\": ""
@@ -3487,8 +4026,11 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Finder Component",
+ "description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/finder/tree/v5.3.7"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3503,33 +4045,29 @@
"type": "tidelift"
}
],
- "time": "2020-09-02T16:23:27+00:00"
+ "time": "2021-08-04T21:20:46+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.1.7",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "4c7e155bf7d93ea4ba3824d5a14476694a5278dd"
+ "reference": "4b78e55b179003a42523a362cc0e8327f7a69b5e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4c7e155bf7d93ea4ba3824d5a14476694a5278dd",
- "reference": "4c7e155bf7d93ea4ba3824d5a14476694a5278dd",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4b78e55b179003a42523a362cc0e8327f7a69b5e",
+ "reference": "4b78e55b179003a42523a362cc0e8327f7a69b5e",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php73": "~1.0",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\OptionsResolver\\": ""
@@ -3552,13 +4090,16 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony OptionsResolver Component",
+ "description": "Provides an improved replacement for the array_replace PHP function",
"homepage": "https://symfony.com",
"keywords": [
"config",
"configuration",
"options"
],
+ "support": {
+ "source": "https://github.com/symfony/options-resolver/tree/v5.3.7"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3573,24 +4114,24 @@
"type": "tidelift"
}
],
- "time": "2020-09-27T03:44:28+00:00"
+ "time": "2021-08-04T21:20:46+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.18.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "1c302646f6efc070cd46856e600e5e0684d6b454"
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454",
- "reference": "1c302646f6efc070cd46856e600e5e0684d6b454",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-ctype": "For best performance"
@@ -3598,7 +4139,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3635,6 +4176,9 @@
"polyfill",
"portable"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3649,24 +4193,24 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.18.1",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5"
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b740103edbdcc39602239ee8860f0f45a8eb9aa5",
- "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
@@ -3674,7 +4218,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3713,6 +4257,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3727,24 +4274,24 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.18.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e"
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
- "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
@@ -3752,7 +4299,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3794,6 +4341,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3808,47 +4358,35 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-php70",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php70.git",
- "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3"
+ "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
- "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
+ "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/5f03a781d984aae42cebd18e7912fa80f02ee644",
+ "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644",
"shasum": ""
},
"require": {
- "paragonie/random_compat": "~1.0|~2.0|~9.99",
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
- "type": "library",
+ "type": "metapackage",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php70\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
@@ -3871,6 +4409,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php70/tree/v1.20.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3885,29 +4426,29 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.18.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "639447d008615574653fb3bc60d1986d7172eaae"
+ "reference": "9a142215a36a3888e30d0a9eeea9766764e96976"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae",
- "reference": "639447d008615574653fb3bc60d1986d7172eaae",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976",
+ "reference": "9a142215a36a3888e30d0a9eeea9766764e96976",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3944,6 +4485,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -3958,29 +4502,29 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2021-05-27T09:17:38+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.18.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca"
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
- "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4020,6 +4564,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -4034,29 +4581,29 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.18.1",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981"
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981",
- "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
"shasum": ""
},
"require": {
- "php": ">=7.0.8"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4100,6 +4647,9 @@
"portable",
"shim"
],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -4114,32 +4664,27 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2021-07-28T13:41:28+00:00"
},
{
"name": "symfony/process",
- "version": "v5.1.7",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "d3a2e64866169586502f0cd9cab69135ad12cee9"
+ "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/d3a2e64866169586502f0cd9cab69135ad12cee9",
- "reference": "d3a2e64866169586502f0cd9cab69135ad12cee9",
+ "url": "https://api.github.com/repos/symfony/process/zipball/38f26c7d6ed535217ea393e05634cb0b244a1967",
+ "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Process\\": ""
@@ -4162,8 +4707,11 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Process Component",
+ "description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/process/tree/v5.3.7"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -4178,25 +4726,25 @@
"type": "tidelift"
}
],
- "time": "2020-09-02T16:23:27+00:00"
+ "time": "2021-08-04T21:20:46+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.2.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
+ "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
+ "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/container": "^1.0"
+ "psr/container": "^1.1"
},
"suggest": {
"symfony/service-implementation": ""
@@ -4204,7 +4752,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4240,6 +4788,9 @@
"interoperability",
"standards"
],
+ "support": {
+ "source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -4254,20 +4805,20 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-04-01T10:43:52+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.1.7",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323"
+ "reference": "b24c6a92c6db316fee69e38c80591e080e41536c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/0f7c58cf81dbb5dd67d423a89d577524a2ec0323",
- "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b24c6a92c6db316fee69e38c80591e080e41536c",
+ "reference": "b24c6a92c6db316fee69e38c80591e080e41536c",
"shasum": ""
},
"require": {
@@ -4275,11 +4826,6 @@
"symfony/service-contracts": "^1.0|^2"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Stopwatch\\": ""
@@ -4302,8 +4848,11 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Stopwatch Component",
+ "description": "Provides a way to profile code",
"homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/stopwatch/tree/v5.3.4"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -4318,20 +4867,20 @@
"type": "tidelift"
}
],
- "time": "2020-05-20T17:43:50+00:00"
+ "time": "2021-07-10T08:58:57+00:00"
},
{
"name": "symfony/string",
- "version": "v5.1.7",
+ "version": "v5.3.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e"
+ "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/4a9afe9d07bac506f75bcee8ed3ce76da5a9343e",
- "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e",
+ "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
+ "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"shasum": ""
},
"require": {
@@ -4349,11 +4898,6 @@
"symfony/var-exporter": "^4.4|^5.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\String\\": ""
@@ -4379,7 +4923,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony String component",
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
"homepage": "https://symfony.com",
"keywords": [
"grapheme",
@@ -4389,6 +4933,9 @@
"utf-8",
"utf8"
],
+ "support": {
+ "source": "https://github.com/symfony/string/tree/v5.3.10"
+ },
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -4403,20 +4950,20 @@
"type": "tidelift"
}
],
- "time": "2020-09-15T12:23:47+00:00"
+ "time": "2021-10-27T18:21:46+00:00"
},
{
"name": "tecnickcom/tcpdf",
- "version": "6.3.5",
+ "version": "6.4.2",
"source": {
"type": "git",
"url": "https://github.com/tecnickcom/TCPDF.git",
- "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549"
+ "reference": "172540dcbfdf8dc983bc2fe78feff48ff7ec1c76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/19a535eaa7fb1c1cac499109deeb1a7a201b4549",
- "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549",
+ "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/172540dcbfdf8dc983bc2fe78feff48ff7ec1c76",
+ "reference": "172540dcbfdf8dc983bc2fe78feff48ff7ec1c76",
"shasum": ""
},
"require": {
@@ -4465,20 +5012,30 @@
"pdf417",
"qrcode"
],
- "time": "2020-02-14T14:20:12+00:00"
+ "support": {
+ "issues": "https://github.com/tecnickcom/TCPDF/issues",
+ "source": "https://github.com/tecnickcom/TCPDF/tree/6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_donations¤cy_code=GBP&business=paypal@tecnick.com&item_name=donation%20for%20tcpdf%20project",
+ "type": "custom"
+ }
+ ],
+ "time": "2021-07-20T14:43:20+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.0",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a"
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
@@ -4505,40 +5062,49 @@
}
],
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ },
"funding": [
{
"url": "https://github.com/theseer",
"type": "github"
}
],
- "time": "2020-07-12T23:59:07+00:00"
+ "time": "2021-07-28T10:34:58+00:00"
},
{
"name": "webmozart/assert",
- "version": "1.9.1",
+ "version": "1.10.0",
"source": {
"type": "git",
- "url": "https://github.com/webmozart/assert.git",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0 || ^8.0",
+ "php": "^7.2 || ^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<3.9.1"
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
+ "phpunit/phpunit": "^8.5.13"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
@@ -4560,21 +5126,27 @@
"check",
"validate"
],
- "time": "2020-07-08T17:02:28+00:00"
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.10.0"
+ },
+ "time": "2021-03-09T10:59:23+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": [],
+ "stability-flags": {
+ "dealerdirect/phpcodesniffer-composer-installer": 20
+ },
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": "^7.2||^8.0",
+ "php": "^7.2 || ^8.0",
"ext-ctype": "*",
"ext-dom": "*",
+ "ext-fileinfo": "*",
"ext-gd": "*",
"ext-iconv": "*",
- "ext-fileinfo": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-simplexml": "*",
@@ -4585,5 +5157,5 @@
"ext-zlib": "*"
},
"platform-dev": [],
- "plugin-api-version": "2.0.0"
+ "plugin-api-version": "2.1.0"
}
diff --git a/docs/extra/extrajs.js b/docs/extra/extrajs.js
new file mode 100644
index 00000000..9ad135e8
--- /dev/null
+++ b/docs/extra/extrajs.js
@@ -0,0 +1,5 @@
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll("table").forEach(function(table) {
+ table.classList.add("docutils");
+ });
+});
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
index b1207d53..42acedf9 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -89,7 +89,7 @@ php vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple.php
## Learn by documentation
-For more in-depth documentation, you may read about an [overview of the
+For more documentation in depth, you may read about an [overview of the
architecture](./topics/architecture.md),
[creating a spreadsheet](./topics/creating-spreadsheet.md),
[worksheets](./topics/worksheets.md),
diff --git a/docs/references/features-cross-reference.md b/docs/references/features-cross-reference.md
index 716a3787..c836a99a 100644
--- a/docs/references/features-cross-reference.md
+++ b/docs/references/features-cross-reference.md
@@ -1220,13 +1220,13 @@
| Merged Cells |
- |
- |
- |
- |
+ ✔ |
✔ |
|
- |
+ ✔ |
+ ✔ |
+ N/A |
+ N/A |
|
|
|
@@ -1313,13 +1313,13 @@
● |
● |
|
- |
- |
+ ● |
+ ● |
|
|
● |
● |
- |
+ ● |
|
|
|
diff --git a/docs/references/function-list-by-category.md b/docs/references/function-list-by-category.md
index 6ac54cb7..0ce7340e 100644
--- a/docs/references/function-list-by-category.md
+++ b/docs/references/function-list-by-category.md
@@ -2,543 +2,545 @@
## CATEGORY_CUBE
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-CUBEKPIMEMBER | **Not yet Implemented**
-CUBEMEMBER | **Not yet Implemented**
-CUBEMEMBERPROPERTY | **Not yet Implemented**
-CUBERANKEDMEMBER | **Not yet Implemented**
-CUBESET | **Not yet Implemented**
-CUBESETCOUNT | **Not yet Implemented**
-CUBEVALUE | **Not yet Implemented**
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+CUBEKPIMEMBER | **Not yet Implemented**
+CUBEMEMBER | **Not yet Implemented**
+CUBEMEMBERPROPERTY | **Not yet Implemented**
+CUBERANKEDMEMBER | **Not yet Implemented**
+CUBESET | **Not yet Implemented**
+CUBESETCOUNT | **Not yet Implemented**
+CUBEVALUE | **Not yet Implemented**
## CATEGORY_DATABASE
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-DAVERAGE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DAVERAGE
-DCOUNT | \PhpOffice\PhpSpreadsheet\Calculation\Database::DCOUNT
-DCOUNTA | \PhpOffice\PhpSpreadsheet\Calculation\Database::DCOUNTA
-DGET | \PhpOffice\PhpSpreadsheet\Calculation\Database::DGET
-DMAX | \PhpOffice\PhpSpreadsheet\Calculation\Database::DMAX
-DMIN | \PhpOffice\PhpSpreadsheet\Calculation\Database::DMIN
-DPRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\Database::DPRODUCT
-DSTDEV | \PhpOffice\PhpSpreadsheet\Calculation\Database::DSTDEV
-DSTDEVP | \PhpOffice\PhpSpreadsheet\Calculation\Database::DSTDEVP
-DSUM | \PhpOffice\PhpSpreadsheet\Calculation\Database::DSUM
-DVAR | \PhpOffice\PhpSpreadsheet\Calculation\Database::DVAR
-DVARP | \PhpOffice\PhpSpreadsheet\Calculation\Database::DVARP
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+DAVERAGE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DAverage::evaluate
+DCOUNT | \PhpOffice\PhpSpreadsheet\Calculation\Database\DCount::evaluate
+DCOUNTA | \PhpOffice\PhpSpreadsheet\Calculation\Database\DCountA::evaluate
+DGET | \PhpOffice\PhpSpreadsheet\Calculation\Database\DGet::evaluate
+DMAX | \PhpOffice\PhpSpreadsheet\Calculation\Database\DMax::evaluate
+DMIN | \PhpOffice\PhpSpreadsheet\Calculation\Database\DMin::evaluate
+DPRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\Database\DProduct::evaluate
+DSTDEV | \PhpOffice\PhpSpreadsheet\Calculation\Database\DStDev::evaluate
+DSTDEVP | \PhpOffice\PhpSpreadsheet\Calculation\Database\DStDevP::evaluate
+DSUM | \PhpOffice\PhpSpreadsheet\Calculation\Database\DSum::evaluate
+DVAR | \PhpOffice\PhpSpreadsheet\Calculation\Database\DVar::evaluate
+DVARP | \PhpOffice\PhpSpreadsheet\Calculation\Database\DVarP::evaluate
## CATEGORY_DATE_AND_TIME
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-DATE | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATE
-DATEDIF | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATEDIF
-DATEVALUE | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATEVALUE
-DAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DAYOFMONTH
-DAYS | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DAYS
-DAYS360 | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DAYS360
-EDATE | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::EDATE
-EOMONTH | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::EOMONTH
-HOUR | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::HOUROFDAY
-ISOWEEKNUM | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::ISOWEEKNUM
-MINUTE | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::MINUTE
-MONTH | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::MONTHOFYEAR
-NETWORKDAYS | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::NETWORKDAYS
-NETWORKDAYS.INTL | **Not yet Implemented**
-NOW | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATETIMENOW
-SECOND | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::SECOND
-TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::TIME
-TIMEVALUE | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::TIMEVALUE
-TODAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATENOW
-WEEKDAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::WEEKDAY
-WEEKNUM | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::WEEKNUM
-WORKDAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::WORKDAY
-WORKDAY.INTL | **Not yet Implemented**
-YEAR | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::YEAR
-YEARFRAC | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::YEARFRAC
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+DATE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Date::fromYMD
+DATEDIF | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Difference::interval
+DATEVALUE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateValue::fromString
+DAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::day
+DAYS | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Days::between
+DAYS360 | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Days360::between
+EDATE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Month::adjust
+EOMONTH | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Month::lastDay
+HOUR | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::hour
+ISOWEEKNUM | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::isoWeekNumber
+MINUTE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::minute
+MONTH | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::month
+NETWORKDAYS | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\NetworkDays::count
+NETWORKDAYS.INTL | **Not yet Implemented**
+NOW | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::now
+SECOND | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::second
+TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Time::fromHMS
+TIMEVALUE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeValue::fromString
+TODAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::today
+WEEKDAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::day
+WEEKNUM | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::number
+WORKDAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\WorkDay::date
+WORKDAY.INTL | **Not yet Implemented**
+YEAR | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::year
+YEARFRAC | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\YearFrac::fraction
## CATEGORY_ENGINEERING
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-BESSELI | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELI
-BESSELJ | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELJ
-BESSELK | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELK
-BESSELY | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELY
-BIN2DEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BINTODEC
-BIN2HEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BINTOHEX
-BIN2OCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BINTOOCT
-BITAND | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITAND
-BITLSHIFT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITLSHIFT
-BITOR | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITOR
-BITRSHIFT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITRSHIFT
-BITXOR | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITOR
-COMPLEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::COMPLEX
-CONVERT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::CONVERTUOM
-DEC2BIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DECTOBIN
-DEC2HEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DECTOHEX
-DEC2OCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DECTOOCT
-DELTA | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DELTA
-ERF | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERF
-ERF.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERFPRECISE
-ERFC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERFC
-ERFC.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERFC
-GESTEP | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::GESTEP
-HEX2BIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::HEXTOBIN
-HEX2DEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::HEXTODEC
-HEX2OCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::HEXTOOCT
-IMABS | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMABS
-IMAGINARY | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMAGINARY
-IMARGUMENT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMARGUMENT
-IMCONJUGATE | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCONJUGATE
-IMCOS | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCOS
-IMCOSH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCOSH
-IMCOT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCOT
-IMCSC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCSC
-IMCSCH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCSCH
-IMDIV | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMDIV
-IMEXP | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMEXP
-IMLN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMLN
-IMLOG10 | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMLOG10
-IMLOG2 | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMLOG2
-IMPOWER | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMPOWER
-IMPRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMPRODUCT
-IMREAL | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMREAL
-IMSEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSEC
-IMSECH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSECH
-IMSIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSIN
-IMSINH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSINH
-IMSQRT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSQRT
-IMSUB | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSUB
-IMSUM | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSUM
-IMTAN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMTAN
-OCT2BIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::OCTTOBIN
-OCT2DEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::OCTTODEC
-OCT2HEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::OCTTOHEX
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+BESSELI | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselI::BESSELI
+BESSELJ | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselJ::BESSELJ
+BESSELK | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselK::BESSELK
+BESSELY | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselY::BESSELY
+BIN2DEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::toDecimal
+BIN2HEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::toHex
+BIN2OCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::toOctal
+BITAND | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITAND
+BITLSHIFT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITLSHIFT
+BITOR | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITOR
+BITRSHIFT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITRSHIFT
+BITXOR | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITXOR
+COMPLEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::COMPLEX
+CONVERT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertUOM::CONVERT
+DEC2BIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::toBinary
+DEC2HEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::toHex
+DEC2OCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::toOctal
+DELTA | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Compare::DELTA
+ERF | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Erf::ERF
+ERF.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Erf::ERFPRECISE
+ERFC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ErfC::ERFC
+ERFC.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ErfC::ERFC
+GESTEP | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Compare::GESTEP
+HEX2BIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::toBinary
+HEX2DEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::toDecimal
+HEX2OCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::toOctal
+IMABS | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMABS
+IMAGINARY | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::IMAGINARY
+IMARGUMENT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMARGUMENT
+IMCONJUGATE | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCONJUGATE
+IMCOS | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCOS
+IMCOSH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCOSH
+IMCOT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCOT
+IMCSC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCSC
+IMCSCH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCSCH
+IMDIV | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMDIV
+IMEXP | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMEXP
+IMLN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMLN
+IMLOG10 | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMLOG10
+IMLOG2 | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMLOG2
+IMPOWER | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMPOWER
+IMPRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMPRODUCT
+IMREAL | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::IMREAL
+IMSEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSEC
+IMSECH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSECH
+IMSIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSIN
+IMSINH | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSINH
+IMSQRT | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSQRT
+IMSUB | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMSUB
+IMSUM | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMSUM
+IMTAN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMTAN
+OCT2BIN | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::toBinary
+OCT2DEC | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::toDecimal
+OCT2HEX | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::toHex
## CATEGORY_FINANCIAL
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-ACCRINT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::ACCRINT
-ACCRINTM | \PhpOffice\PhpSpreadsheet\Calculation\Financial::ACCRINTM
-AMORDEGRC | \PhpOffice\PhpSpreadsheet\Calculation\Financial::AMORDEGRC
-AMORLINC | \PhpOffice\PhpSpreadsheet\Calculation\Financial::AMORLINC
-COUPDAYBS | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPDAYBS
-COUPDAYS | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPDAYS
-COUPDAYSNC | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPDAYSNC
-COUPNCD | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPNCD
-COUPNUM | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPNUM
-COUPPCD | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPPCD
-CUMIPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::CUMIPMT
-CUMPRINC | \PhpOffice\PhpSpreadsheet\Calculation\Financial::CUMPRINC
-DB | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DB
-DDB | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DDB
-DISC | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DISC
-DOLLARDE | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DOLLARDE
-DOLLARFR | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DOLLARFR
-DURATION | **Not yet Implemented**
-EFFECT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::EFFECT
-FV | \PhpOffice\PhpSpreadsheet\Calculation\Financial::FV
-FVSCHEDULE | \PhpOffice\PhpSpreadsheet\Calculation\Financial::FVSCHEDULE
-INTRATE | \PhpOffice\PhpSpreadsheet\Calculation\Financial::INTRATE
-IPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::IPMT
-IRR | \PhpOffice\PhpSpreadsheet\Calculation\Financial::IRR
-ISPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::ISPMT
-MDURATION | **Not yet Implemented**
-MIRR | \PhpOffice\PhpSpreadsheet\Calculation\Financial::MIRR
-NOMINAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::NOMINAL
-NPER | \PhpOffice\PhpSpreadsheet\Calculation\Financial::NPER
-NPV | \PhpOffice\PhpSpreadsheet\Calculation\Financial::NPV
-ODDFPRICE | **Not yet Implemented**
-ODDFYIELD | **Not yet Implemented**
-ODDLPRICE | **Not yet Implemented**
-ODDLYIELD | **Not yet Implemented**
-PDURATION | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PDURATION
-PMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PMT
-PPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PPMT
-PRICE | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PRICE
-PRICEDISC | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PRICEDISC
-PRICEMAT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PRICEMAT
-PV | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PV
-RATE | \PhpOffice\PhpSpreadsheet\Calculation\Financial::RATE
-RECEIVED | \PhpOffice\PhpSpreadsheet\Calculation\Financial::RECEIVED
-RRI | \PhpOffice\PhpSpreadsheet\Calculation\Financial::RRI
-SLN | \PhpOffice\PhpSpreadsheet\Calculation\Financial::SLN
-SYD | \PhpOffice\PhpSpreadsheet\Calculation\Financial::SYD
-TBILLEQ | \PhpOffice\PhpSpreadsheet\Calculation\Financial::TBILLEQ
-TBILLPRICE | \PhpOffice\PhpSpreadsheet\Calculation\Financial::TBILLPRICE
-TBILLYIELD | \PhpOffice\PhpSpreadsheet\Calculation\Financial::TBILLYIELD
-USDOLLAR | **Not yet Implemented**
-VDB | **Not yet Implemented**
-XIRR | \PhpOffice\PhpSpreadsheet\Calculation\Financial::XIRR
-XNPV | \PhpOffice\PhpSpreadsheet\Calculation\Financial::XNPV
-YIELD | **Not yet Implemented**
-YIELDDISC | \PhpOffice\PhpSpreadsheet\Calculation\Financial::YIELDDISC
-YIELDMAT | \PhpOffice\PhpSpreadsheet\Calculation\Financial::YIELDMAT
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+ACCRINT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\AccruedInterest::periodic
+ACCRINTM | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\AccruedInterest::atMaturity
+AMORDEGRC | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::AMORDEGRC
+AMORLINC | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::AMORLINC
+COUPDAYBS | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPDAYBS
+COUPDAYS | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPDAYS
+COUPDAYSNC | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPDAYSNC
+COUPNCD | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPNCD
+COUPNUM | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPNUM
+COUPPCD | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPPCD
+CUMIPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Cumulative::interest
+CUMPRINC | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Cumulative::principal
+DB | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::DB
+DDB | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::DDB
+DISC | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Rates::discount
+DOLLARDE | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::decimal
+DOLLARFR | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::fractional
+DURATION | **Not yet Implemented**
+EFFECT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\InterestRate::effective
+FV | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::futureValue
+FVSCHEDULE | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::futureValue
+INTRATE | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Rates::interest
+IPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::payment
+IRR | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::rate
+ISPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::schedulePayment
+MDURATION | **Not yet Implemented**
+MIRR | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::modifiedRate
+NOMINAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\InterestRate::nominal
+NPER | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::periods
+NPV | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::presentValue
+ODDFPRICE | **Not yet Implemented**
+ODDFYIELD | **Not yet Implemented**
+ODDLPRICE | **Not yet Implemented**
+ODDLYIELD | **Not yet Implemented**
+PDURATION | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::periods
+PMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Payments::annuity
+PPMT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Payments::interestPayment
+PRICE | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::price
+PRICEDISC | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::priceDiscounted
+PRICEMAT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::priceAtMaturity
+PV | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::presentValue
+RATE | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::rate
+RECEIVED | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::received
+RRI | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::interestRate
+SLN | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::SLN
+SYD | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::SYD
+TBILLEQ | \PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::bondEquivalentYield
+TBILLPRICE | \PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::price
+TBILLYIELD | \PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::yield
+USDOLLAR | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::format
+VDB | **Not yet Implemented**
+XIRR | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\NonPeriodic::rate
+XNPV | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\NonPeriodic::presentValue
+YIELD | **Not yet Implemented**
+YIELDDISC | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Yields::yieldDiscounted
+YIELDMAT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Yields::yieldAtMaturity
## CATEGORY_INFORMATION
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-CELL | **Not yet Implemented**
-ERROR.TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Functions::errorType
-INFO | **Not yet Implemented**
-ISBLANK | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isBlank
-ISERR | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isErr
-ISERROR | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isError
-ISEVEN | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isEven
-ISFORMULA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isFormula
-ISLOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isLogical
-ISNA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNa
-ISNONTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNonText
-ISNUMBER | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNumber
-ISODD | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isOdd
-ISREF | **Not yet Implemented**
-ISTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isText
-N | \PhpOffice\PhpSpreadsheet\Calculation\Functions::n
-NA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::NA
-SHEET | **Not yet Implemented**
-SHEETS | **Not yet Implemented**
-TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Functions::TYPE
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+CELL | **Not yet Implemented**
+ERROR.TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Functions::errorType
+INFO | **Not yet Implemented**
+ISBLANK | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isBlank
+ISERR | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isErr
+ISERROR | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isError
+ISEVEN | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isEven
+ISFORMULA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isFormula
+ISLOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isLogical
+ISNA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNa
+ISNONTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNonText
+ISNUMBER | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNumber
+ISODD | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isOdd
+ISREF | **Not yet Implemented**
+ISTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isText
+N | \PhpOffice\PhpSpreadsheet\Calculation\Functions::n
+NA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::NA
+SHEET | **Not yet Implemented**
+SHEETS | **Not yet Implemented**
+TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Functions::TYPE
## CATEGORY_LOGICAL
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-AND | \PhpOffice\PhpSpreadsheet\Calculation\Logical::logicalAnd
-FALSE | \PhpOffice\PhpSpreadsheet\Calculation\Logical::FALSE
-IF | \PhpOffice\PhpSpreadsheet\Calculation\Logical::statementIf
-IFERROR | \PhpOffice\PhpSpreadsheet\Calculation\Logical::IFERROR
-IFNA | \PhpOffice\PhpSpreadsheet\Calculation\Logical::IFNA
-IFS | \PhpOffice\PhpSpreadsheet\Calculation\Logical::IFS
-NOT | \PhpOffice\PhpSpreadsheet\Calculation\Logical::NOT
-OR | \PhpOffice\PhpSpreadsheet\Calculation\Logical::logicalOr
-SWITCH | \PhpOffice\PhpSpreadsheet\Calculation\Logical::statementSwitch
-TRUE | \PhpOffice\PhpSpreadsheet\Calculation\Logical::TRUE
-XOR | \PhpOffice\PhpSpreadsheet\Calculation\Logical::logicalXor
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+AND | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalAnd
+FALSE | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::FALSE
+IF | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::statementIf
+IFERROR | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFERROR
+IFNA | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFNA
+IFS | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFS
+NOT | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::NOT
+OR | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalOr
+SWITCH | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::statementSwitch
+TRUE | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::TRUE
+XOR | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalXor
## CATEGORY_LOOKUP_AND_REFERENCE
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-ADDRESS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::cellAddress
-AREAS | **Not yet Implemented**
-CHOOSE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::CHOOSE
-COLUMN | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::COLUMN
-COLUMNS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::COLUMNS
-FILTER | **Not yet Implemented**
-FORMULATEXT | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::FORMULATEXT
-GETPIVOTDATA | **Not yet Implemented**
-HLOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::HLOOKUP
-HYPERLINK | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::HYPERLINK
-INDEX | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::INDEX
-INDIRECT | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::INDIRECT
-LOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::LOOKUP
-MATCH | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::MATCH
-OFFSET | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::OFFSET
-ROW | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::ROW
-ROWS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::ROWS
-RTD | **Not yet Implemented**
-SORT | **Not yet Implemented**
-SORTBY | **Not yet Implemented**
-TRANSPOSE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::TRANSPOSE
-UNIQUE | **Not yet Implemented**
-VLOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::VLOOKUP
-XLOOKUP | **Not yet Implemented**
-XMATCH | **Not yet Implemented**
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+ADDRESS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Address::cell
+AREAS | **Not yet Implemented**
+CHOOSE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Selection::CHOOSE
+COLUMN | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::COLUMN
+COLUMNS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::COLUMNS
+FILTER | **Not yet Implemented**
+FORMULATEXT | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Formula::text
+GETPIVOTDATA | **Not yet Implemented**
+HLOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\HLookup::lookup
+HYPERLINK | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Hyperlink::set
+INDEX | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Matrix::index
+INDIRECT | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Indirect::INDIRECT
+LOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Lookup::lookup
+MATCH | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\ExcelMatch::MATCH
+OFFSET | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Offset::OFFSET
+ROW | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::ROW
+ROWS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::ROWS
+RTD | **Not yet Implemented**
+SORT | **Not yet Implemented**
+SORTBY | **Not yet Implemented**
+TRANSPOSE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Matrix::transpose
+UNIQUE | **Not yet Implemented**
+VLOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\VLookup::lookup
+XLOOKUP | **Not yet Implemented**
+XMATCH | **Not yet Implemented**
## CATEGORY_MATH_AND_TRIG
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-ABS | abs
-ACOS | acos
-ACOSH | acosh
-ACOT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ACOT
-ACOTH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ACOTH
-AGGREGATE | **Not yet Implemented**
-ARABIC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ARABIC
-ASIN | asin
-ASINH | asinh
-ATAN | atan
-ATAN2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ATAN2
-ATANH | atanh
-BASE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::BASE
-CEILING | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::CEILING
-CEILING.MATH | **Not yet Implemented**
-CEILING.PRECISE | **Not yet Implemented**
-COMBIN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::COMBIN
-COMBINA | **Not yet Implemented**
-COS | cos
-COSH | cosh
-COT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::COT
-COTH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::COTH
-CSC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::CSC
-CSCH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::CSCH
-DECIMAL | **Not yet Implemented**
-DEGREES | rad2deg
-EVEN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::EVEN
-EXP | exp
-FACT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FACT
-FACTDOUBLE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FACTDOUBLE
-FLOOR | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FLOOR
-FLOOR.MATH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FLOORMATH
-FLOOR.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FLOORPRECISE
-GCD | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::GCD
-INT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::INT
-ISO.CEILING | **Not yet Implemented**
-LCM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::LCM
-LN | log
-LOG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::logBase
-LOG10 | log10
-MDETERM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MDETERM
-MINVERSE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MINVERSE
-MMULT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MMULT
-MOD | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MOD
-MROUND | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MROUND
-MULTINOMIAL | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MULTINOMIAL
-MUNIT | **Not yet Implemented**
-ODD | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ODD
-PI | pi
-POWER | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::POWER
-PRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::PRODUCT
-QUOTIENT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::QUOTIENT
-RADIANS | deg2rad
-RAND | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::RAND
-RANDARRAY | **Not yet Implemented**
-RANDBETWEEN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::RAND
-ROMAN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ROMAN
-ROUND | round
-ROUNDDOWN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ROUNDDOWN
-ROUNDUP | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ROUNDUP
-SEC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SEC
-SECH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SECH
-SERIESSUM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SERIESSUM
-SEQUENCE | **Not yet Implemented**
-SIGN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SIGN
-SIN | sin
-SINH | sinh
-SQRT | sqrt
-SQRTPI | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SQRTPI
-SUBTOTAL | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUBTOTAL
-SUM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUM
-SUMIF | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMIF
-SUMIFS | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMIFS
-SUMPRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMPRODUCT
-SUMSQ | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMSQ
-SUMX2MY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMX2MY2
-SUMX2PY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMX2PY2
-SUMXMY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMXMY2
-TAN | tan
-TANH | tanh
-TRUNC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::TRUNC
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+ABS | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Absolute::evaluate
+ACOS | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::acos
+ACOSH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::acosh
+ACOT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::acot
+ACOTH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::acoth
+AGGREGATE | **Not yet Implemented**
+ARABIC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Arabic::evaluate
+ASIN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::asin
+ASINH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::asinh
+ATAN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::atan
+ATAN2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::atan2
+ATANH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::atanh
+BASE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Base::evaluate
+CEILING | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::ceiling
+CEILING.MATH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::math
+CEILING.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::precise
+COMBIN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::withoutRepetition
+COMBINA | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::withRepetition
+COS | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::cos
+COSH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::cosh
+COT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::cot
+COTH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::coth
+CSC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosecant::csc
+CSCH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosecant::csch
+DECIMAL | **Not yet Implemented**
+DEGREES | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::toDegrees
+ECMA.CEILING | **Not yet Implemented**
+EVEN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::even
+EXP | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Exp::evaluate
+FACT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::fact
+FACTDOUBLE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::factDouble
+FLOOR | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::floor
+FLOOR.MATH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::math
+FLOOR.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::precise
+GCD | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Gcd::evaluate
+INT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\IntClass::evaluate
+ISO.CEILING | **Not yet Implemented**
+LCM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Lcm::evaluate
+LN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::natural
+LOG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::withBase
+LOG10 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::base10
+MDETERM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::determinant
+MINVERSE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::inverse
+MMULT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::multiply
+MOD | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::mod
+MROUND | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::multiple
+MULTINOMIAL | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::multinomial
+MUNIT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::identity
+ODD | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::odd
+PI | pi
+POWER | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::power
+PRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::product
+QUOTIENT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::quotient
+RADIANS | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::toRadians
+RAND | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::rand
+RANDARRAY | **Not yet Implemented**
+RANDBETWEEN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::randBetween
+ROMAN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Roman::evaluate
+ROUND | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::round
+ROUNDDOWN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::down
+ROUNDUP | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::up
+SEC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::sec
+SECH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::sech
+SEQUENCE | **Not yet Implemented**
+SERIESSUM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SeriesSum::evaluate
+SIGN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sign::evaluate
+SIN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::sin
+SINH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::sinh
+SQRT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sqrt::sqrt
+SQRTPI | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sqrt::pi
+SUBTOTAL | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Subtotal::evaluate
+SUM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sum::sumErroringStrings
+SUMIF | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::SUMIF
+SUMIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::SUMIFS
+SUMPRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sum::product
+SUMSQ | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumSquare
+SUMX2MY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXSquaredMinusYSquared
+SUMX2PY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXSquaredPlusYSquared
+SUMXMY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXMinusYSquared
+TAN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::tan
+TANH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::tanh
+TRUNC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trunc::evaluate
## CATEGORY_STATISTICAL
Excel Function | PhpSpreadsheet Function
--------------------------|-------------------------------------------
-AVEDEV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVEDEV
-AVERAGE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVERAGE
-AVERAGEA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVERAGEA
-AVERAGEIF | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVERAGEIF
-AVERAGEIFS | **Not yet Implemented**
-BETADIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETADIST
-BETA.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETADIST
-BETAINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETAINV
-BETA.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETAINV
-BINOMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BINOMDIST
-BINOM.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BINOMDIST
-BINOM.DIST.RANGE | **Not yet Implemented**
-BINOM.INV | **Not yet Implemented**
-CHIDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIDIST
-CHISQ.DIST | **Not yet Implemented**
-CHISQ.DIST.RT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIDIST
-CHIINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIINV
-CHISQ.INV | **Not yet Implemented**
-CHISQ.INV.RT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIINV
-CHITEST | **Not yet Implemented**
-CHISQ.TEST | **Not yet Implemented**
-CONFIDENCE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CONFIDENCE
-CONFIDENCE.NORM | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CONFIDENCE
+-------------------------|--------------------------------------
+AVEDEV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::averageDeviations
+AVERAGE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::average
+AVERAGEA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::averageA
+AVERAGEIF | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::AVERAGEIF
+AVERAGEIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::AVERAGEIFS
+BETA.DIST | **Not yet Implemented**
+BETA.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::inverse
+BETADIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::distribution
+BETAINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::inverse
+BINOM.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::distribution
+BINOM.DIST.RANGE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::range
+BINOM.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::inverse
+BINOMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::distribution
+CHIDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::distributionRightTail
+CHIINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::inverseRightTail
+CHISQ.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::distributionLeftTail
+CHISQ.DIST.RT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::distributionRightTail
+CHISQ.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::inverseLeftTail
+CHISQ.INV.RT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::inverseRightTail
+CHISQ.TEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::test
+CHITEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::test
+CONFIDENCE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Confidence::CONFIDENCE
+CONFIDENCE.NORM | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Confidence::CONFIDENCE
CONFIDENCE.T | **Not yet Implemented**
-CORREL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CORREL
-COUNT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNT
-COUNTA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTA
-COUNTBLANK | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTBLANK
-COUNTIF | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTIF
-COUNTIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTIFS
-COVAR | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COVAR
-COVARIANCE.P | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COVAR
+CORREL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::CORREL
+COUNT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::COUNT
+COUNTA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::COUNTA
+COUNTBLANK | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::COUNTBLANK
+COUNTIF | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::COUNTIF
+COUNTIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::COUNTIFS
+COVAR | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::COVAR
+COVARIANCE.P | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::COVAR
COVARIANCE.S | **Not yet Implemented**
-CRITBINOM | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CRITBINOM
-DEVSQ | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::DEVSQ
-EXPONDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::EXPONDIST
-EXPON.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::EXPONDIST
-FDIST | **Not yet Implemented**
-F.DIST | **Not yet Implemented**
+CRITBINOM | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::inverse
+DEVSQ | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::sumSquares
+EXPON.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Exponential::distribution
+EXPONDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Exponential::distribution
+F.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\F::distribution
F.DIST.RT | **Not yet Implemented**
-FINV | **Not yet Implemented**
F.INV | **Not yet Implemented**
F.INV.RT | **Not yet Implemented**
F.TEST | **Not yet Implemented**
-FISHER | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FISHER
-FISHERINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FISHERINV
-FORECAST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FORECAST
+FDIST | **Not yet Implemented**
+FINV | **Not yet Implemented**
+FISHER | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Fisher::distribution
+FISHERINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Fisher::inverse
+FORECAST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::FORECAST
FORECAST.ETS | **Not yet Implemented**
FORECAST.ETS.CONFINT | **Not yet Implemented**
FORECAST.ETS.SEASONALITY | **Not yet Implemented**
FORECAST.ETS.STAT | **Not yet Implemented**
-FORECAST.LINEAR | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FORECAST
+FORECAST.LINEAR | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::FORECAST
FREQUENCY | **Not yet Implemented**
FTEST | **Not yet Implemented**
-GAMMA | **Not yet Implemented**
-GAMMADIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMADIST
-GAMMA.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMADIST
-GAMMAINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMAINV
-GAMMA.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMAINV
-GAMMALN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMALN
-GAMMALN.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMALN
-GAUSS | **Not yet Implemented**
-GEOMEAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GEOMEAN
-GROWTH | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GROWTH
-HARMEAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::HARMEAN
-HYPGEOMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::HYPGEOMDIST
-INTERCEPT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::INTERCEPT
-KURT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::KURT
-LARGE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LARGE
-LINEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LINEST
-LOGEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGEST
-LOGINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGINV
-LOGNORMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGNORMDIST
-LOGNORM.DIST | **Not yet Implemented**
-LOGNORM.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGINV
-MAX | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MAX
-MAXA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MAXA
-MAXIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MAXIFS
-MEDIAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MEDIAN
+GAMMA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::gamma
+GAMMA.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::distribution
+GAMMA.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::inverse
+GAMMADIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::distribution
+GAMMAINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::inverse
+GAMMALN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::ln
+GAMMALN.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::ln
+GAUSS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::gauss
+GEOMEAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::geometric
+GROWTH | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::GROWTH
+HARMEAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::harmonic
+HYPGEOM.DIST | **Not yet Implemented**
+HYPGEOMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\HyperGeometric::distribution
+INTERCEPT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::INTERCEPT
+KURT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::kurtosis
+LARGE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Size::large
+LINEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::LINEST
+LOGEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::LOGEST
+LOGINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::inverse
+LOGNORM.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::distribution
+LOGNORM.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::inverse
+LOGNORMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::cumulative
+MAX | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::max
+MAXA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::maxA
+MAXIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::MAXIFS
+MEDIAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::median
MEDIANIF | **Not yet Implemented**
-MIN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MIN
-MINA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MINA
-MINIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MINIFS
-MODE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MODE
+MIN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Minimum::min
+MINA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Minimum::minA
+MINIFS | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::MINIFS
+MODE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::mode
MODE.MULT | **Not yet Implemented**
-MODE.SNGL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MODE
-NEGBINOMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NEGBINOMDIST
+MODE.SNGL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::mode
NEGBINOM.DIST | **Not yet Implemented**
-NORMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMDIST
-NORM.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMDIST
-NORMINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMINV
-NORM.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMINV
-NORMSDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMSDIST
-NORM.S.DIST | **Not yet Implemented**
-NORMSINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMSINV
-NORM.S.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMSINV
-PEARSON | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CORREL
-PERCENTILE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTILE
+NEGBINOMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::negative
+NORM.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::distribution
+NORM.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::inverse
+NORM.S.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::distribution
+NORM.S.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::inverse
+NORMDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::distribution
+NORMINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::inverse
+NORMSDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::cumulative
+NORMSINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::inverse
+PEARSON | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::CORREL
+PERCENTILE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTILE
PERCENTILE.EXC | **Not yet Implemented**
-PERCENTILE.INC | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTILE
-PERCENTRANK | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTRANK
+PERCENTILE.INC | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTILE
+PERCENTRANK | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTRANK
PERCENTRANK.EXC | **Not yet Implemented**
-PERCENTRANK.INC | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTRANK
-PERMUT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERMUT
-PERMUTATIONA | **Not yet Implemented**
+PERCENTRANK.INC | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTRANK
+PERMUT | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Permutations::PERMUT
+PERMUTATIONA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Permutations::PERMUTATIONA
PHI | **Not yet Implemented**
-POISSON | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::POISSON
-POISSON.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::POISSON
+POISSON | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Poisson::distribution
+POISSON.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Poisson::distribution
PROB | **Not yet Implemented**
-QUARTILE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::QUARTILE
+QUARTILE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::QUARTILE
QUARTILE.EXC | **Not yet Implemented**
-QUARTILE.INC | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::QUARTILE
-RANK | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::RANK
+QUARTILE.INC | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::QUARTILE
+RANK | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::RANK
RANK.AVG | **Not yet Implemented**
-RANK.EQ | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::RANK
-RSQ | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::RSQ
-SKEW | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::SKEW
+RANK.EQ | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::RANK
+RSQ | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::RSQ
+SKEW | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::skew
SKEW.P | **Not yet Implemented**
-SLOPE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::SLOPE
-SMALL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::SMALL
-STANDARDIZE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STANDARDIZE
-STDEV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEV
-STDEV.P | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVP
-STDEV.S | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEV
-STDEVA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVA
-STDEVP | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVP
-STDEVPA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVPA
-STEYX | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STEYX
-TDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TDIST
+SLOPE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::SLOPE
+SMALL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Size::small
+STANDARDIZE | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Standardize::execute
+STDEV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEV
+STDEV.P | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVP
+STDEV.S | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEV
+STDEVA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVA
+STDEVP | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVP
+STDEVPA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVPA
+STEYX | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::STEYX
T.DIST | **Not yet Implemented**
T.DIST.2T | **Not yet Implemented**
T.DIST.RT | **Not yet Implemented**
-TINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TINV
-T.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TINV
+T.INV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::inverse
T.INV.2T | **Not yet Implemented**
-TREND | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TREND
-TRIMMEAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TRIMMEAN
-TTEST | **Not yet Implemented**
T.TEST | **Not yet Implemented**
-VAR | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARFunc
-VAR.P | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARP
-VAR.S | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARFunc
-VARA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARA
-VARP | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARP
-VARPA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARPA
-WEIBULL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::WEIBULL
-WEIBULL.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::WEIBULL
-ZTEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::ZTEST
-Z.TEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::ZTEST
+TDIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::distribution
+TINV | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::inverse
+TREND | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::TREND
+TRIMMEAN | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::trim
+TTEST | **Not yet Implemented**
+VAR | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VAR
+VAR.P | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARP
+VAR.S | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VAR
+VARA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARA
+VARP | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARP
+VARPA | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARPA
+WEIBULL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Weibull::distribution
+WEIBULL.DIST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Weibull::distribution
+Z.TEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::zTest
+ZTEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::zTest
## CATEGORY_TEXT_AND_DATA
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-ASC | **Not yet Implemented**
-BAHTTEXT | **Not yet Implemented**
-CHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CHARACTER
-CLEAN | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TRIMNONPRINTABLE
-CODE | \PhpOffice\PhpSpreadsheet\Calculation\TextData::ASCIICODE
-CONCAT | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CONCATENATE
-CONCATENATE | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CONCATENATE
-DBCS | **Not yet Implemented**
-DOLLAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData::DOLLAR
-EXACT | \PhpOffice\PhpSpreadsheet\Calculation\TextData::EXACT
-FIND | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHSENSITIVE
-FINDB | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHSENSITIVE
-FIXED | \PhpOffice\PhpSpreadsheet\Calculation\TextData::FIXEDFORMAT
-JIS | **Not yet Implemented**
-LEFT | \PhpOffice\PhpSpreadsheet\Calculation\TextData::LEFT
-LEFTB | \PhpOffice\PhpSpreadsheet\Calculation\TextData::LEFT
-LEN | \PhpOffice\PhpSpreadsheet\Calculation\TextData::STRINGLENGTH
-LENB | \PhpOffice\PhpSpreadsheet\Calculation\TextData::STRINGLENGTH
-LOWER | \PhpOffice\PhpSpreadsheet\Calculation\TextData::LOWERCASE
-MID | \PhpOffice\PhpSpreadsheet\Calculation\TextData::MID
-MIDB | \PhpOffice\PhpSpreadsheet\Calculation\TextData::MID
-NUMBERVALUE | \PhpOffice\PhpSpreadsheet\Calculation\TextData::NUMBERVALUE
-PHONETIC | **Not yet Implemented**
-PROPER | \PhpOffice\PhpSpreadsheet\Calculation\TextData::PROPERCASE
-REPLACE | \PhpOffice\PhpSpreadsheet\Calculation\TextData::REPLACE
-REPLACEB | \PhpOffice\PhpSpreadsheet\Calculation\TextData::REPLACE
-REPT | str_repeat
-RIGHT | \PhpOffice\PhpSpreadsheet\Calculation\TextData::RIGHT
-RIGHTB | \PhpOffice\PhpSpreadsheet\Calculation\TextData::RIGHT
-SEARCH | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHINSENSITIVE
-SEARCHB | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHINSENSITIVE
-SUBSTITUTE | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SUBSTITUTE
-T | \PhpOffice\PhpSpreadsheet\Calculation\TextData::RETURNSTRING
-TEXT | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TEXTFORMAT
-TEXTJOIN | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TEXTJOIN
-TRIM | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TRIMSPACES
-UNICHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CHARACTER
-UNICODE | \PhpOffice\PhpSpreadsheet\Calculation\TextData::ASCIICODE
-UPPER | \PhpOffice\PhpSpreadsheet\Calculation\TextData::UPPERCASE
-VALUE | \PhpOffice\PhpSpreadsheet\Calculation\TextData::VALUE
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+ASC | **Not yet Implemented**
+BAHTTEXT | **Not yet Implemented**
+CHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::character
+CLEAN | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Trim::nonPrintable
+CODE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::code
+CONCAT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::CONCATENATE
+CONCATENATE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::CONCATENATE
+DBCS | **Not yet Implemented**
+DOLLAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::DOLLAR
+EXACT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::exact
+FIND | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::sensitive
+FINDB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::sensitive
+FIXED | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::FIXEDFORMAT
+JIS | **Not yet Implemented**
+LEFT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
+LEFTB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
+LEN | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::length
+LENB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::length
+LOWER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::lower
+MID | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::mid
+MIDB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::mid
+NUMBERVALUE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::NUMBERVALUE
+PHONETIC | **Not yet Implemented**
+PROPER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::proper
+REPLACE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::replace
+REPLACEB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::replace
+REPT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::builtinREPT
+RIGHT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::right
+RIGHTB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::right
+SEARCH | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::insensitive
+SEARCHB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::insensitive
+SUBSTITUTE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::substitute
+T | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::test
+TEXT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::TEXTFORMAT
+TEXTJOIN | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::TEXTJOIN
+TRIM | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Trim::spaces
+UNICHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::character
+UNICODE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::code
+UPPER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::upper
+VALUE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::VALUE
## CATEGORY_WEB
-Excel Function | PhpSpreadsheet Function
---------------------|-------------------------------------------
-ENCODEURL | **Not yet Implemented**
-FILTERXML | **Not yet Implemented**
-WEBSERVICE | \PhpOffice\PhpSpreadsheet\Calculation\Web::WEBSERVICE
+Excel Function | PhpSpreadsheet Function
+-------------------------|--------------------------------------
+ENCODEURL | \PhpOffice\PhpSpreadsheet\Calculation\Web\Service::urlEncode
+FILTERXML | **Not yet Implemented**
+WEBSERVICE | \PhpOffice\PhpSpreadsheet\Calculation\Web\Service::webService
diff --git a/docs/references/function-list-by-name.md b/docs/references/function-list-by-name.md
index 2341ee5f..c5f733ea 100644
--- a/docs/references/function-list-by-name.md
+++ b/docs/references/function-list-by-name.md
@@ -2,613 +2,615 @@
## A
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-ABS | CATEGORY_MATH_AND_TRIG | abs
-ACCRINT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::ACCRINT
-ACCRINTM | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::ACCRINTM
-ACOS | CATEGORY_MATH_AND_TRIG | acos
-ACOSH | CATEGORY_MATH_AND_TRIG | acosh
-ACOT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ACOT
-ACOTH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ACOTH
-ADDRESS | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::cellAddress
-AGGREGATE | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-AMORDEGRC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::AMORDEGRC
-AMORLINC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::AMORLINC
-AND | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::logicalAnd
-ARABIC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ARABIC
-AREAS | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-ASC | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
-ASIN | CATEGORY_MATH_AND_TRIG | asin
-ASINH | CATEGORY_MATH_AND_TRIG | asinh
-ATAN | CATEGORY_MATH_AND_TRIG | atan
-ATAN2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ATAN2
-ATANH | CATEGORY_MATH_AND_TRIG | atanh
-AVEDEV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVEDEV
-AVERAGE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVERAGE
-AVERAGEA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVERAGEA
-AVERAGEIF | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::AVERAGEIF
-AVERAGEIFS | CATEGORY_STATISTICAL | **Not yet Implemented**
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+ABS | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Absolute::evaluate
+ACCRINT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\AccruedInterest::periodic
+ACCRINTM | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\AccruedInterest::atMaturity
+ACOS | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::acos
+ACOSH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::acosh
+ACOT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::acot
+ACOTH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::acoth
+ADDRESS | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Address::cell
+AGGREGATE | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
+AMORDEGRC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::AMORDEGRC
+AMORLINC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::AMORLINC
+AND | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalAnd
+ARABIC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Arabic::evaluate
+AREAS | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+ASC | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
+ASIN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::asin
+ASINH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::asinh
+ATAN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::atan
+ATAN2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::atan2
+ATANH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::atanh
+AVEDEV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::averageDeviations
+AVERAGE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::average
+AVERAGEA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::averageA
+AVERAGEIF | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::AVERAGEIF
+AVERAGEIFS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::AVERAGEIFS
## B
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-BAHTTEXT | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
-BASE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::BASE
-BESSELI | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELI
-BESSELJ | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELJ
-BESSELK | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELK
-BESSELY | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BESSELY
-BETADIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETADIST
-BETA.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETADIST
-BETAINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETAINV
-BETA.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BETAINV
-BIN2DEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BINTODEC
-BIN2HEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BINTOHEX
-BIN2OCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BINTOOCT
-BINOMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BINOMDIST
-BINOM.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::BINOMDIST
-BINOM.DIST.RANGE | CATEGORY_STATISTICAL | **Not yet Implemented**
-BINOM.INV | CATEGORY_STATISTICAL | **Not yet Implemented**
-BITAND | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITAND
-BITLSHIFT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITLSHIFT
-BITOR | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITOR
-BITRSHIFT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITRSHIFT
-BITXOR | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::BITOR
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+BAHTTEXT | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
+BASE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Base::evaluate
+BESSELI | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselI::BESSELI
+BESSELJ | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselJ::BESSELJ
+BESSELK | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselK::BESSELK
+BESSELY | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselY::BESSELY
+BETA.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
+BETA.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::inverse
+BETADIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::distribution
+BETAINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::inverse
+BIN2DEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::toDecimal
+BIN2HEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::toHex
+BIN2OCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::toOctal
+BINOM.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::distribution
+BINOM.DIST.RANGE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::range
+BINOM.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::inverse
+BINOMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::distribution
+BITAND | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITAND
+BITLSHIFT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITLSHIFT
+BITOR | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITOR
+BITRSHIFT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITRSHIFT
+BITXOR | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITXOR
## C
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-CEILING | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::CEILING
-CEILING.MATH | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-CEILING.PRECISE | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-CELL | CATEGORY_INFORMATION | **Not yet Implemented**
-CHAR | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CHARACTER
-CHIDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIDIST
-CHIINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIINV
-CHISQ.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
-CHISQ.DIST.RT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIDIST
-CHISQ.INV | CATEGORY_STATISTICAL | **Not yet Implemented**
-CHISQ.INV.RT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CHIINV
-CHISQ.TEST | CATEGORY_STATISTICAL | **Not yet Implemented**
-CHITEST | CATEGORY_STATISTICAL | **Not yet Implemented**
-CHOOSE | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::CHOOSE
-CLEAN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TRIMNONPRINTABLE
-CODE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::ASCIICODE
-COLUMN | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::COLUMN
-COLUMNS | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::COLUMNS
-COMBIN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::COMBIN
-COMBINA | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-COMPLEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::COMPLEX
-CONCAT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CONCATENATE
-CONCATENATE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CONCATENATE
-CONFIDENCE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CONFIDENCE
-CONFIDENCE.NORM | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CONFIDENCE
-CONFIDENCE.T | CATEGORY_STATISTICAL | **Not yet Implemented**
-CONVERT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::CONVERTUOM
-CORREL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CORREL
-COS | CATEGORY_MATH_AND_TRIG | cos
-COSH | CATEGORY_MATH_AND_TRIG | cosh
-COT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::COT
-COTH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::COTH
-COUNT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNT
-COUNTA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTA
-COUNTBLANK | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTBLANK
-COUNTIF | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTIF
-COUNTIFS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COUNTIFS
-COUPDAYBS | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPDAYBS
-COUPDAYS | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPDAYS
-COUPDAYSNC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPDAYSNC
-COUPNCD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPNCD
-COUPNUM | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPNUM
-COUPPCD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::COUPPCD
-COVAR | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COVAR
-COVARIANCE.P | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::COVAR
-COVARIANCE.S | CATEGORY_STATISTICAL | **Not yet Implemented**
-CRITBINOM | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CRITBINOM
-CSC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::CSC
-CSCH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::CSCH
-CUBEKPIMEMBER | CATEGORY_CUBE | **Not yet Implemented**
-CUBEMEMBER | CATEGORY_CUBE | **Not yet Implemented**
-CUBEMEMBERPROPERTY | CATEGORY_CUBE | **Not yet Implemented**
-CUBERANKEDMEMBER | CATEGORY_CUBE | **Not yet Implemented**
-CUBESET | CATEGORY_CUBE | **Not yet Implemented**
-CUBESETCOUNT | CATEGORY_CUBE | **Not yet Implemented**
-CUBEVALUE | CATEGORY_CUBE | **Not yet Implemented**
-CUMIPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::CUMIPMT
-CUMPRINC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::CUMPRINC
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+CEILING | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::ceiling
+CEILING.MATH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::math
+CEILING.PRECISE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::precise
+CELL | CATEGORY_INFORMATION | **Not yet Implemented**
+CHAR | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::character
+CHIDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::distributionRightTail
+CHIINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::inverseRightTail
+CHISQ.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::distributionLeftTail
+CHISQ.DIST.RT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::distributionRightTail
+CHISQ.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::inverseLeftTail
+CHISQ.INV.RT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::inverseRightTail
+CHISQ.TEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::test
+CHITEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::test
+CHOOSE | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Selection::CHOOSE
+CLEAN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Trim::nonPrintable
+CODE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::code
+COLUMN | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::COLUMN
+COLUMNS | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::COLUMNS
+COMBIN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::withoutRepetition
+COMBINA | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::withRepetition
+COMPLEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::COMPLEX
+CONCAT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::CONCATENATE
+CONCATENATE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::CONCATENATE
+CONFIDENCE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Confidence::CONFIDENCE
+CONFIDENCE.NORM | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Confidence::CONFIDENCE
+CONFIDENCE.T | CATEGORY_STATISTICAL | **Not yet Implemented**
+CONVERT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertUOM::CONVERT
+CORREL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::CORREL
+COS | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::cos
+COSH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::cosh
+COT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::cot
+COTH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::coth
+COUNT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::COUNT
+COUNTA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::COUNTA
+COUNTBLANK | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::COUNTBLANK
+COUNTIF | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::COUNTIF
+COUNTIFS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::COUNTIFS
+COUPDAYBS | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPDAYBS
+COUPDAYS | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPDAYS
+COUPDAYSNC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPDAYSNC
+COUPNCD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPNCD
+COUPNUM | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPNUM
+COUPPCD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::COUPPCD
+COVAR | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::COVAR
+COVARIANCE.P | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::COVAR
+COVARIANCE.S | CATEGORY_STATISTICAL | **Not yet Implemented**
+CRITBINOM | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::inverse
+CSC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosecant::csc
+CSCH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosecant::csch
+CUBEKPIMEMBER | CATEGORY_CUBE | **Not yet Implemented**
+CUBEMEMBER | CATEGORY_CUBE | **Not yet Implemented**
+CUBEMEMBERPROPERTY | CATEGORY_CUBE | **Not yet Implemented**
+CUBERANKEDMEMBER | CATEGORY_CUBE | **Not yet Implemented**
+CUBESET | CATEGORY_CUBE | **Not yet Implemented**
+CUBESETCOUNT | CATEGORY_CUBE | **Not yet Implemented**
+CUBEVALUE | CATEGORY_CUBE | **Not yet Implemented**
+CUMIPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Cumulative::interest
+CUMPRINC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Cumulative::principal
## D
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-DATE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATE
-DATEDIF | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATEDIF
-DATEVALUE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATEVALUE
-DAVERAGE | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DAVERAGE
-DAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DAYOFMONTH
-DAYS | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DAYS
-DAYS360 | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DAYS360
-DB | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DB
-DBCS | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
-DCOUNT | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DCOUNT
-DCOUNTA | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DCOUNTA
-DDB | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DDB
-DEC2BIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DECTOBIN
-DEC2HEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DECTOHEX
-DEC2OCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DECTOOCT
-DECIMAL | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-DEGREES | CATEGORY_MATH_AND_TRIG | rad2deg
-DELTA | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::DELTA
-DEVSQ | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::DEVSQ
-DGET | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DGET
-DISC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DISC
-DMAX | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DMAX
-DMIN | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DMIN
-DOLLAR | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::DOLLAR
-DOLLARDE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DOLLARDE
-DOLLARFR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::DOLLARFR
-DPRODUCT | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DPRODUCT
-DSTDEV | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DSTDEV
-DSTDEVP | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DSTDEVP
-DSUM | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DSUM
-DURATION | CATEGORY_FINANCIAL | **Not yet Implemented**
-DVAR | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DVAR
-DVARP | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database::DVARP
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+DATE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Date::fromYMD
+DATEDIF | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Difference::interval
+DATEVALUE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateValue::fromString
+DAVERAGE | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DAverage::evaluate
+DAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::day
+DAYS | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Days::between
+DAYS360 | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Days360::between
+DB | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::DB
+DBCS | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
+DCOUNT | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DCount::evaluate
+DCOUNTA | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DCountA::evaluate
+DDB | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::DDB
+DEC2BIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::toBinary
+DEC2HEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::toHex
+DEC2OCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::toOctal
+DECIMAL | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
+DEGREES | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::toDegrees
+DELTA | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Compare::DELTA
+DEVSQ | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::sumSquares
+DGET | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DGet::evaluate
+DISC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Rates::discount
+DMAX | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DMax::evaluate
+DMIN | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DMin::evaluate
+DOLLAR | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::DOLLAR
+DOLLARDE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::decimal
+DOLLARFR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::fractional
+DPRODUCT | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DProduct::evaluate
+DSTDEV | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DStDev::evaluate
+DSTDEVP | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DStDevP::evaluate
+DSUM | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DSum::evaluate
+DURATION | CATEGORY_FINANCIAL | **Not yet Implemented**
+DVAR | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DVar::evaluate
+DVARP | CATEGORY_DATABASE | \PhpOffice\PhpSpreadsheet\Calculation\Database\DVarP::evaluate
## E
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-EDATE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::EDATE
-EFFECT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::EFFECT
-ENCODEURL | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
-EOMONTH | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::EOMONTH
-ERF | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERF
-ERFC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERFC
-ERFC.PRECISE | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERFC
-ERF.PRECISE | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::ERFPRECISE
-ERROR.TYPE | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::errorType
-EVEN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::EVEN
-EXACT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::EXACT
-EXP | CATEGORY_MATH_AND_TRIG | exp
-EXPONDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::EXPONDIST
-EXPON.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::EXPONDIST
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+ECMA.CEILING | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
+EDATE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Month::adjust
+EFFECT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\InterestRate::effective
+ENCODEURL | CATEGORY_WEB | \PhpOffice\PhpSpreadsheet\Calculation\Web\Service::urlEncode
+EOMONTH | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Month::lastDay
+ERF | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Erf::ERF
+ERF.PRECISE | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Erf::ERFPRECISE
+ERFC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ErfC::ERFC
+ERFC.PRECISE | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ErfC::ERFC
+ERROR.TYPE | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::errorType
+EVEN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::even
+EXACT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::exact
+EXP | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Exp::evaluate
+EXPON.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Exponential::distribution
+EXPONDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Exponential::distribution
## F
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-FACT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FACT
-FACTDOUBLE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FACTDOUBLE
-FALSE | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::FALSE
-FDIST | CATEGORY_STATISTICAL | **Not yet Implemented**
-F.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
-F.DIST.RT | CATEGORY_STATISTICAL | **Not yet Implemented**
-FILTER | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-FILTERXML | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
-FIND | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHSENSITIVE
-FINDB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHSENSITIVE
-FINV | CATEGORY_STATISTICAL | **Not yet Implemented**
-F.INV | CATEGORY_STATISTICAL | **Not yet Implemented**
-F.INV.RT | CATEGORY_STATISTICAL | **Not yet Implemented**
-FISHER | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FISHER
-FISHERINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FISHERINV
-FIXED | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::FIXEDFORMAT
-FLOOR | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FLOOR
-FLOOR.MATH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FLOORMATH
-FLOOR.PRECISE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::FLOORPRECISE
-FORECAST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FORECAST
-FORECAST.ETS | CATEGORY_STATISTICAL | **Not yet Implemented**
-FORECAST.ETS.CONFINT | CATEGORY_STATISTICAL | **Not yet Implemented**
-FORECAST.ETS.SEASONALITY | CATEGORY_STATISTICAL | **Not yet Implemented**
-FORECAST.ETS.STAT | CATEGORY_STATISTICAL | **Not yet Implemented**
-FORECAST.LINEAR | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::FORECAST
-FORMULATEXT | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::FORMULATEXT
-FREQUENCY | CATEGORY_STATISTICAL | **Not yet Implemented**
-FTEST | CATEGORY_STATISTICAL | **Not yet Implemented**
-F.TEST | CATEGORY_STATISTICAL | **Not yet Implemented**
-FV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::FV
-FVSCHEDULE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::FVSCHEDULE
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+F.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\F::distribution
+F.DIST.RT | CATEGORY_STATISTICAL | **Not yet Implemented**
+F.INV | CATEGORY_STATISTICAL | **Not yet Implemented**
+F.INV.RT | CATEGORY_STATISTICAL | **Not yet Implemented**
+F.TEST | CATEGORY_STATISTICAL | **Not yet Implemented**
+FACT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::fact
+FACTDOUBLE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::factDouble
+FALSE | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::FALSE
+FDIST | CATEGORY_STATISTICAL | **Not yet Implemented**
+FILTER | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+FILTERXML | CATEGORY_WEB | **Not yet Implemented**
+FIND | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::sensitive
+FINDB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::sensitive
+FINV | CATEGORY_STATISTICAL | **Not yet Implemented**
+FISHER | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Fisher::distribution
+FISHERINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Fisher::inverse
+FIXED | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::FIXEDFORMAT
+FLOOR | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::floor
+FLOOR.MATH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::math
+FLOOR.PRECISE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::precise
+FORECAST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::FORECAST
+FORECAST.ETS | CATEGORY_STATISTICAL | **Not yet Implemented**
+FORECAST.ETS.CONFINT | CATEGORY_STATISTICAL | **Not yet Implemented**
+FORECAST.ETS.SEASONALITY | CATEGORY_STATISTICAL | **Not yet Implemented**
+FORECAST.ETS.STAT | CATEGORY_STATISTICAL | **Not yet Implemented**
+FORECAST.LINEAR | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::FORECAST
+FORMULATEXT | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Formula::text
+FREQUENCY | CATEGORY_STATISTICAL | **Not yet Implemented**
+FTEST | CATEGORY_STATISTICAL | **Not yet Implemented**
+FV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::futureValue
+FVSCHEDULE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::futureValue
## G
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-GAMMA | CATEGORY_STATISTICAL | **Not yet Implemented**
-GAMMADIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMADIST
-GAMMA.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMADIST
-GAMMAINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMAINV
-GAMMA.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMAINV
-GAMMALN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMALN
-GAMMALN.PRECISE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GAMMALN
-GAUSS | CATEGORY_STATISTICAL | **Not yet Implemented**
-GCD | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::GCD
-GEOMEAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GEOMEAN
-GESTEP | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::GESTEP
-GETPIVOTDATA | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-GROWTH | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::GROWTH
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+GAMMA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::gamma
+GAMMA.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::distribution
+GAMMA.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::inverse
+GAMMADIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::distribution
+GAMMAINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::inverse
+GAMMALN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::ln
+GAMMALN.PRECISE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::ln
+GAUSS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::gauss
+GCD | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Gcd::evaluate
+GEOMEAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::geometric
+GESTEP | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Compare::GESTEP
+GETPIVOTDATA | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+GROWTH | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::GROWTH
## H
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-HARMEAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::HARMEAN
-HEX2BIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::HEXTOBIN
-HEX2DEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::HEXTODEC
-HEX2OCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::HEXTOOCT
-HLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::HLOOKUP
-HOUR | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::HOUROFDAY
-HYPERLINK | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::HYPERLINK
-HYPGEOMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::HYPGEOMDIST
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+HARMEAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::harmonic
+HEX2BIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::toBinary
+HEX2DEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::toDecimal
+HEX2OCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::toOctal
+HLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\HLookup::lookup
+HOUR | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::hour
+HYPERLINK | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Hyperlink::set
+HYPGEOM.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
+HYPGEOMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\HyperGeometric::distribution
## I
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-IF | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::statementIf
-IFERROR | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::IFERROR
-IFNA | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::IFNA
-IFS | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::IFS
-IMABS | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMABS
-IMAGINARY | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMAGINARY
-IMARGUMENT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMARGUMENT
-IMCONJUGATE | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCONJUGATE
-IMCOS | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCOS
-IMCOSH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCOSH
-IMCOT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCOT
-IMCSC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCSC
-IMCSCH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMCSCH
-IMDIV | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMDIV
-IMEXP | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMEXP
-IMLN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMLN
-IMLOG10 | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMLOG10
-IMLOG2 | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMLOG2
-IMPOWER | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMPOWER
-IMPRODUCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMPRODUCT
-IMREAL | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMREAL
-IMSEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSEC
-IMSECH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSECH
-IMSIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSIN
-IMSINH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSINH
-IMSQRT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSQRT
-IMSUB | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSUB
-IMSUM | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMSUM
-IMTAN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::IMTAN
-INDEX | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::INDEX
-INDIRECT | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::INDIRECT
-INFO | CATEGORY_INFORMATION | **Not yet Implemented**
-INT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::INT
-INTERCEPT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::INTERCEPT
-INTRATE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::INTRATE
-IPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::IPMT
-IRR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::IRR
-ISBLANK | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isBlank
-ISERR | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isErr
-ISERROR | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isError
-ISEVEN | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isEven
-ISFORMULA | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isFormula
-ISLOGICAL | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isLogical
-ISNA | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNa
-ISNONTEXT | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNonText
-ISNUMBER | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNumber
-ISO.CEILING | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-ISODD | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isOdd
-ISOWEEKNUM | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::ISOWEEKNUM
-ISPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::ISPMT
-ISREF | CATEGORY_INFORMATION | **Not yet Implemented**
-ISTEXT | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isText
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+IF | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::statementIf
+IFERROR | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFERROR
+IFNA | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFNA
+IFS | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFS
+IMABS | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMABS
+IMAGINARY | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::IMAGINARY
+IMARGUMENT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMARGUMENT
+IMCONJUGATE | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCONJUGATE
+IMCOS | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCOS
+IMCOSH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCOSH
+IMCOT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCOT
+IMCSC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCSC
+IMCSCH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMCSCH
+IMDIV | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMDIV
+IMEXP | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMEXP
+IMLN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMLN
+IMLOG10 | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMLOG10
+IMLOG2 | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMLOG2
+IMPOWER | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMPOWER
+IMPRODUCT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMPRODUCT
+IMREAL | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::IMREAL
+IMSEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSEC
+IMSECH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSECH
+IMSIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSIN
+IMSINH | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSINH
+IMSQRT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMSQRT
+IMSUB | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMSUB
+IMSUM | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::IMSUM
+IMTAN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::IMTAN
+INDEX | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Matrix::index
+INDIRECT | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Indirect::INDIRECT
+INFO | CATEGORY_INFORMATION | **Not yet Implemented**
+INT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\IntClass::evaluate
+INTERCEPT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::INTERCEPT
+INTRATE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Rates::interest
+IPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::payment
+IRR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::rate
+ISBLANK | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isBlank
+ISERR | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isErr
+ISERROR | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isError
+ISEVEN | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isEven
+ISFORMULA | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isFormula
+ISLOGICAL | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isLogical
+ISNA | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNa
+ISNONTEXT | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNonText
+ISNUMBER | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNumber
+ISO.CEILING | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
+ISODD | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isOdd
+ISOWEEKNUM | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::isoWeekNumber
+ISPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::schedulePayment
+ISREF | CATEGORY_INFORMATION | **Not yet Implemented**
+ISTEXT | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isText
## J
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-JIS | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+JIS | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
## K
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-KURT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::KURT
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+KURT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::kurtosis
## L
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-LARGE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LARGE
-LCM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::LCM
-LEFT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::LEFT
-LEFTB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::LEFT
-LEN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::STRINGLENGTH
-LENB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::STRINGLENGTH
-LINEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LINEST
-LN | CATEGORY_MATH_AND_TRIG | log
-LOG | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::logBase
-LOG10 | CATEGORY_MATH_AND_TRIG | log10
-LOGEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGEST
-LOGINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGINV
-LOGNORMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGNORMDIST
-LOGNORM.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
-LOGNORM.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::LOGINV
-LOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::LOOKUP
-LOWER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::LOWERCASE
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+LARGE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Size::large
+LCM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Lcm::evaluate
+LEFT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
+LEFTB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
+LEN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::length
+LENB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::length
+LINEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::LINEST
+LN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::natural
+LOG | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::withBase
+LOG10 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::base10
+LOGEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::LOGEST
+LOGINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::inverse
+LOGNORM.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::distribution
+LOGNORM.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::inverse
+LOGNORMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::cumulative
+LOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Lookup::lookup
+LOWER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::lower
## M
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-MATCH | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::MATCH
-MAX | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MAX
-MAXA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MAXA
-MAXIFS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MAXIFS
-MDETERM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MDETERM
-MDURATION | CATEGORY_FINANCIAL | **Not yet Implemented**
-MEDIAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MEDIAN
-MEDIANIF | CATEGORY_STATISTICAL | **Not yet Implemented**
-MID | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::MID
-MIDB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::MID
-MIN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MIN
-MINA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MINA
-MINIFS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MINIFS
-MINUTE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::MINUTE
-MINVERSE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MINVERSE
-MIRR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::MIRR
-MMULT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MMULT
-MOD | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MOD
-MODE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MODE
-MODE.MULT | CATEGORY_STATISTICAL | **Not yet Implemented**
-MODE.SNGL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::MODE
-MONTH | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::MONTHOFYEAR
-MROUND | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MROUND
-MULTINOMIAL | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::MULTINOMIAL
-MUNIT | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+MATCH | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\ExcelMatch::MATCH
+MAX | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::max
+MAXA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::maxA
+MAXIFS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::MAXIFS
+MDETERM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::determinant
+MDURATION | CATEGORY_FINANCIAL | **Not yet Implemented**
+MEDIAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::median
+MEDIANIF | CATEGORY_STATISTICAL | **Not yet Implemented**
+MID | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::mid
+MIDB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::mid
+MIN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Minimum::min
+MINA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Minimum::minA
+MINIFS | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::MINIFS
+MINUTE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::minute
+MINVERSE | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::inverse
+MIRR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::modifiedRate
+MMULT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::multiply
+MOD | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::mod
+MODE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::mode
+MODE.MULT | CATEGORY_STATISTICAL | **Not yet Implemented**
+MODE.SNGL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::mode
+MONTH | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::month
+MROUND | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::multiple
+MULTINOMIAL | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::multinomial
+MUNIT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::identity
## N
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-N | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::n
-NA | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::NA
-NEGBINOMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NEGBINOMDIST
-NEGBINOM.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
-NETWORKDAYS | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::NETWORKDAYS
-NETWORKDAYS.INTL | CATEGORY_DATE_AND_TIME | **Not yet Implemented**
-NOMINAL | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::NOMINAL
-NORMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMDIST
-NORM.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMDIST
-NORMINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMINV
-NORM.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMINV
-NORMSDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMSDIST
-NORM.S.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
-NORMSINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMSINV
-NORM.S.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::NORMSINV
-NOT | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::NOT
-NOW | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATETIMENOW
-NPER | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::NPER
-NPV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::NPV
-NUMBERVALUE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::NUMBERVALUE
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+N | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::n
+NA | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::NA
+NEGBINOM.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
+NEGBINOMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::negative
+NETWORKDAYS | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\NetworkDays::count
+NETWORKDAYS.INTL | CATEGORY_DATE_AND_TIME | **Not yet Implemented**
+NOMINAL | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\InterestRate::nominal
+NORM.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::distribution
+NORM.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::inverse
+NORM.S.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::distribution
+NORM.S.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::inverse
+NORMDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::distribution
+NORMINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::inverse
+NORMSDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::cumulative
+NORMSINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::inverse
+NOT | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::NOT
+NOW | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::now
+NPER | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::periods
+NPV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::presentValue
+NUMBERVALUE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::NUMBERVALUE
## O
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-OCT2BIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::OCTTOBIN
-OCT2DEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::OCTTODEC
-OCT2HEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering::OCTTOHEX
-ODD | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ODD
-ODDFPRICE | CATEGORY_FINANCIAL | **Not yet Implemented**
-ODDFYIELD | CATEGORY_FINANCIAL | **Not yet Implemented**
-ODDLPRICE | CATEGORY_FINANCIAL | **Not yet Implemented**
-ODDLYIELD | CATEGORY_FINANCIAL | **Not yet Implemented**
-OFFSET | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::OFFSET
-OR | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::logicalOr
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+OCT2BIN | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::toBinary
+OCT2DEC | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::toDecimal
+OCT2HEX | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::toHex
+ODD | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::odd
+ODDFPRICE | CATEGORY_FINANCIAL | **Not yet Implemented**
+ODDFYIELD | CATEGORY_FINANCIAL | **Not yet Implemented**
+ODDLPRICE | CATEGORY_FINANCIAL | **Not yet Implemented**
+ODDLYIELD | CATEGORY_FINANCIAL | **Not yet Implemented**
+OFFSET | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Offset::OFFSET
+OR | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalOr
## P
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-PDURATION | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PDURATION
-PEARSON | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::CORREL
-PERCENTILE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTILE
-PERCENTILE.EXC | CATEGORY_STATISTICAL | **Not yet Implemented**
-PERCENTILE.INC | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTILE
-PERCENTRANK | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTRANK
-PERCENTRANK.EXC | CATEGORY_STATISTICAL | **Not yet Implemented**
-PERCENTRANK.INC | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERCENTRANK
-PERMUT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::PERMUT
-PERMUTATIONA | CATEGORY_STATISTICAL | **Not yet Implemented**
-PHI | CATEGORY_STATISTICAL | **Not yet Implemented**
-PHONETIC | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
-PI | CATEGORY_MATH_AND_TRIG | pi
-PMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PMT
-POISSON | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::POISSON
-POISSON.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::POISSON
-POWER | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::POWER
-PPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PPMT
-PRICE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PRICE
-PRICEDISC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PRICEDISC
-PRICEMAT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PRICEMAT
-PROB | CATEGORY_STATISTICAL | **Not yet Implemented**
-PRODUCT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::PRODUCT
-PROPER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::PROPERCASE
-PV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::PV
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+PDURATION | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::periods
+PEARSON | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::CORREL
+PERCENTILE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTILE
+PERCENTILE.EXC | CATEGORY_STATISTICAL | **Not yet Implemented**
+PERCENTILE.INC | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTILE
+PERCENTRANK | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTRANK
+PERCENTRANK.EXC | CATEGORY_STATISTICAL | **Not yet Implemented**
+PERCENTRANK.INC | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::PERCENTRANK
+PERMUT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Permutations::PERMUT
+PERMUTATIONA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Permutations::PERMUTATIONA
+PHI | CATEGORY_STATISTICAL | **Not yet Implemented**
+PHONETIC | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
+PI | CATEGORY_MATH_AND_TRIG | pi
+PMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Payments::annuity
+POISSON | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Poisson::distribution
+POISSON.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Poisson::distribution
+POWER | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::power
+PPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Payments::interestPayment
+PRICE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::price
+PRICEDISC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::priceDiscounted
+PRICEMAT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::priceAtMaturity
+PROB | CATEGORY_STATISTICAL | **Not yet Implemented**
+PRODUCT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::product
+PROPER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::proper
+PV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::presentValue
## Q
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-QUARTILE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::QUARTILE
-QUARTILE.EXC | CATEGORY_STATISTICAL | **Not yet Implemented**
-QUARTILE.INC | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::QUARTILE
-QUOTIENT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::QUOTIENT
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+QUARTILE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::QUARTILE
+QUARTILE.EXC | CATEGORY_STATISTICAL | **Not yet Implemented**
+QUARTILE.INC | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::QUARTILE
+QUOTIENT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::quotient
## R
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-RADIANS | CATEGORY_MATH_AND_TRIG | deg2rad
-RAND | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::RAND
-RANDARRAY | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-RANDBETWEEN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::RAND
-RANK | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::RANK
-RANK.AVG | CATEGORY_STATISTICAL | **Not yet Implemented**
-RANK.EQ | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::RANK
-RATE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::RATE
-RECEIVED | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::RECEIVED
-REPLACE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::REPLACE
-REPLACEB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::REPLACE
-REPT | CATEGORY_TEXT_AND_DATA | str_repeat
-RIGHT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::RIGHT
-RIGHTB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::RIGHT
-ROMAN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ROMAN
-ROUND | CATEGORY_MATH_AND_TRIG | round
-ROUNDDOWN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ROUNDDOWN
-ROUNDUP | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::ROUNDUP
-ROW | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::ROW
-ROWS | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::ROWS
-RRI | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::RRI
-RSQ | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::RSQ
-RTD | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+RADIANS | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::toRadians
+RAND | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::rand
+RANDARRAY | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
+RANDBETWEEN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::randBetween
+RANK | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::RANK
+RANK.AVG | CATEGORY_STATISTICAL | **Not yet Implemented**
+RANK.EQ | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::RANK
+RATE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::rate
+RECEIVED | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::received
+REPLACE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::replace
+REPLACEB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::replace
+REPT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::builtinREPT
+RIGHT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::right
+RIGHTB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::right
+ROMAN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Roman::evaluate
+ROUND | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::round
+ROUNDDOWN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::down
+ROUNDUP | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::up
+ROW | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::ROW
+ROWS | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::ROWS
+RRI | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::interestRate
+RSQ | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::RSQ
+RTD | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
## S
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-SEARCH | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHINSENSITIVE
-SEARCHB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SEARCHINSENSITIVE
-SEC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SEC
-SECH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SECH
-SECOND | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::SECOND
-SEQUENCE | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
-SERIESSUM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SERIESSUM
-SHEET | CATEGORY_INFORMATION | **Not yet Implemented**
-SHEETS | CATEGORY_INFORMATION | **Not yet Implemented**
-SIGN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SIGN
-SIN | CATEGORY_MATH_AND_TRIG | sin
-SINH | CATEGORY_MATH_AND_TRIG | sinh
-SKEW | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::SKEW
-SKEW.P | CATEGORY_STATISTICAL | **Not yet Implemented**
-SLN | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::SLN
-SLOPE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::SLOPE
-SMALL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::SMALL
-SORT | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-SORTBY | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-SQRT | CATEGORY_MATH_AND_TRIG | sqrt
-SQRTPI | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SQRTPI
-STANDARDIZE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STANDARDIZE
-STDEV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEV
-STDEVA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVA
-STDEVP | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVP
-STDEV.P | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVP
-STDEVPA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEVPA
-STDEV.S | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STDEV
-STEYX | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::STEYX
-SUBSTITUTE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::SUBSTITUTE
-SUBTOTAL | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUBTOTAL
-SUM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUM
-SUMIF | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMIF
-SUMIFS | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMIFS
-SUMPRODUCT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMPRODUCT
-SUMSQ | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMSQ
-SUMX2MY2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMX2MY2
-SUMX2PY2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMX2PY2
-SUMXMY2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::SUMXMY2
-SWITCH | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::statementSwitch
-SYD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::SYD
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+SEARCH | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::insensitive
+SEARCHB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::insensitive
+SEC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::sec
+SECH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::sech
+SECOND | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::second
+SEQUENCE | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
+SERIESSUM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SeriesSum::evaluate
+SHEET | CATEGORY_INFORMATION | **Not yet Implemented**
+SHEETS | CATEGORY_INFORMATION | **Not yet Implemented**
+SIGN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sign::evaluate
+SIN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::sin
+SINH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::sinh
+SKEW | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::skew
+SKEW.P | CATEGORY_STATISTICAL | **Not yet Implemented**
+SLN | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::SLN
+SLOPE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::SLOPE
+SMALL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Size::small
+SORT | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+SORTBY | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+SQRT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sqrt::sqrt
+SQRTPI | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sqrt::pi
+STANDARDIZE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Standardize::execute
+STDEV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEV
+STDEV.P | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVP
+STDEV.S | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEV
+STDEVA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVA
+STDEVP | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVP
+STDEVPA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::STDEVPA
+STEYX | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::STEYX
+SUBSTITUTE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::substitute
+SUBTOTAL | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Subtotal::evaluate
+SUM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sum::sumErroringStrings
+SUMIF | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::SUMIF
+SUMIFS | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::SUMIFS
+SUMPRODUCT | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sum::product
+SUMSQ | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumSquare
+SUMX2MY2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXSquaredMinusYSquared
+SUMX2PY2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXSquaredPlusYSquared
+SUMXMY2 | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXMinusYSquared
+SWITCH | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::statementSwitch
+SYD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::SYD
## T
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-T | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::RETURNSTRING
-TAN | CATEGORY_MATH_AND_TRIG | tan
-TANH | CATEGORY_MATH_AND_TRIG | tanh
-TBILLEQ | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::TBILLEQ
-TBILLPRICE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::TBILLPRICE
-TBILLYIELD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::TBILLYIELD
-TDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TDIST
-T.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
-T.DIST.2T | CATEGORY_STATISTICAL | **Not yet Implemented**
-T.DIST.RT | CATEGORY_STATISTICAL | **Not yet Implemented**
-TEXT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TEXTFORMAT
-TEXTJOIN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TEXTJOIN
-TIME | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::TIME
-TIMEVALUE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::TIMEVALUE
-TINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TINV
-T.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TINV
-T.INV.2T | CATEGORY_STATISTICAL | **Not yet Implemented**
-TODAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::DATENOW
-TRANSPOSE | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::TRANSPOSE
-TREND | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TREND
-TRIM | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::TRIMSPACES
-TRIMMEAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::TRIMMEAN
-TRUE | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::TRUE
-TRUNC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::TRUNC
-TTEST | CATEGORY_STATISTICAL | **Not yet Implemented**
-T.TEST | CATEGORY_STATISTICAL | **Not yet Implemented**
-TYPE | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::TYPE
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+T | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::test
+T.DIST | CATEGORY_STATISTICAL | **Not yet Implemented**
+T.DIST.2T | CATEGORY_STATISTICAL | **Not yet Implemented**
+T.DIST.RT | CATEGORY_STATISTICAL | **Not yet Implemented**
+T.INV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::inverse
+T.INV.2T | CATEGORY_STATISTICAL | **Not yet Implemented**
+T.TEST | CATEGORY_STATISTICAL | **Not yet Implemented**
+TAN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::tan
+TANH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::tanh
+TBILLEQ | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::bondEquivalentYield
+TBILLPRICE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::price
+TBILLYIELD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::yield
+TDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::distribution
+TEXT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::TEXTFORMAT
+TEXTJOIN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::TEXTJOIN
+TIME | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Time::fromHMS
+TIMEVALUE | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeValue::fromString
+TINV | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::inverse
+TODAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::today
+TRANSPOSE | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Matrix::transpose
+TREND | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::TREND
+TRIM | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Trim::spaces
+TRIMMEAN | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::trim
+TRUE | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::TRUE
+TRUNC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trunc::evaluate
+TTEST | CATEGORY_STATISTICAL | **Not yet Implemented**
+TYPE | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Functions::TYPE
## U
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-UNICHAR | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::CHARACTER
-UNICODE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::ASCIICODE
-UNIQUE | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-UPPER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::UPPERCASE
-USDOLLAR | CATEGORY_FINANCIAL | **Not yet Implemented**
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+UNICHAR | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::character
+UNICODE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::code
+UNIQUE | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+UPPER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::upper
+USDOLLAR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::format
## V
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-VALUE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData::VALUE
-VAR | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARFunc
-VARA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARA
-VARP | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARP
-VAR.P | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARP
-VARPA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARPA
-VAR.S | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::VARFunc
-VDB | CATEGORY_FINANCIAL | **Not yet Implemented**
-VLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::VLOOKUP
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+VALUE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::VALUE
+VAR | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VAR
+VAR.P | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARP
+VAR.S | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VAR
+VARA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARA
+VARP | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARP
+VARPA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARPA
+VDB | CATEGORY_FINANCIAL | **Not yet Implemented**
+VLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\VLookup::lookup
## W
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-WEBSERVICE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\Web::WEBSERVICE
-WEEKDAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::WEEKDAY
-WEEKNUM | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::WEEKNUM
-WEIBULL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::WEIBULL
-WEIBULL.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::WEIBULL
-WORKDAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::WORKDAY
-WORKDAY.INTL | CATEGORY_DATE_AND_TIME | **Not yet Implemented**
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+WEBSERVICE | CATEGORY_WEB | \PhpOffice\PhpSpreadsheet\Calculation\Web\Service::webService
+WEEKDAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::day
+WEEKNUM | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::number
+WEIBULL | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Weibull::distribution
+WEIBULL.DIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Weibull::distribution
+WORKDAY | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\WorkDay::date
+WORKDAY.INTL | CATEGORY_DATE_AND_TIME | **Not yet Implemented**
## X
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-XIRR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::XIRR
-XLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-XMATCH | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
-XNPV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::XNPV
-XOR | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical::logicalXor
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+XIRR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\NonPeriodic::rate
+XLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+XMATCH | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
+XNPV | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\NonPeriodic::presentValue
+XOR | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalXor
## Y
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-YEAR | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::YEAR
-YEARFRAC | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTime::YEARFRAC
-YIELD | CATEGORY_FINANCIAL | **Not yet Implemented**
-YIELDDISC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::YIELDDISC
-YIELDMAT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial::YIELDMAT
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+YEAR | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::year
+YEARFRAC | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\YearFrac::fraction
+YIELD | CATEGORY_FINANCIAL | **Not yet Implemented**
+YIELDDISC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Yields::yieldDiscounted
+YIELDMAT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Yields::yieldAtMaturity
## Z
-Excel Function | Category | PhpSpreadsheet Function
--------------------------|-------------------------------|-------------------------
-ZTEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::ZTEST
-Z.TEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical::ZTEST
+Excel Function | Category | PhpSpreadsheet Function
+-------------------------|--------------------------------|--------------------------------------
+Z.TEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::zTest
+ZTEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::zTest
diff --git a/docs/topics/accessing-cells.md b/docs/topics/accessing-cells.md
index a777afc1..346e5858 100644
--- a/docs/topics/accessing-cells.md
+++ b/docs/topics/accessing-cells.md
@@ -110,6 +110,11 @@ values beginning with `=` will be converted to a formula. Strings that
aren't numeric, or that don't begin with a leading `=` will be treated
as genuine string values.
+Note that a numeric string that begins with a leading zero (that isn't
+immediately followed by a decimal separator) will not be converted to a
+numeric, so values like phone numbers (e.g. `01615991375``will remain as
+strings).
+
This "conversion" is handled by a cell "value binder", and you can write
custom "value binders" to change the behaviour of these "conversions".
The standard PhpSpreadsheet package also provides an "advanced value
@@ -138,8 +143,10 @@ Formats handled by the advanced value binder include:
- When strings contain a newline character (`\n`), then the cell styling is
set to wrap.
-You can read more about value binders later in this section of the
-documentation.
+Basically, it attempts to mimic the behaviour of the MS Excel GUI.
+
+You can read more about value binders [later in this section of the
+documentation](#using-value-binders-to-facilitate-data-entry).
### Setting a formula in a Cell
@@ -551,8 +558,27 @@ $spreadsheet->getActiveSheet()->setCellValue('A5', 'Date/time value:');
$spreadsheet->getActiveSheet()->setCellValue('B5', '21 December 1983');
```
-**Creating your own value binder is easy.** When advanced value binding
-is required, you can implement the
-`\PhpOffice\PhpSpreadsheet\Cell\IValueBinder` interface or extend the
+Alternatively, a `\PhpOffice\PhpSpreadsheet\Cell\StringValueBinder` class is available
+if you want to preserve all content as strings. This might be appropriate if you
+were loading a file containing values that could be interpreted as numbers (e.g. numbers
+with leading sign such as international phone numbers like `+441615579382`), but that
+should be retained as strings (non-international phone numbers with leading zeroes are
+already maintained as strings).
+
+By default, the StringValueBinder will cast any datatype passed to it into a string. However, there are a number of settings which allow you to specify that certain datatypes shouldn't be cast to strings, but left "as is":
+
+```php
+// Set value binder
+$stringValueBinder = new \PhpOffice\PhpSpreadsheet\Cell\StringValueBinder();
+$stringValueBinder->setNumericConversion(false)
+ ->setBooleanConversion(false)
+ ->setNullConversion(false)
+ ->setFormulaConversion(false);
+\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( $stringValueBinder );
+```
+
+**Creating your own value binder is relatively straightforward.** When more specialised
+value binding is required, you can implement the
+`\PhpOffice\PhpSpreadsheet\Cell\IValueBinder` interface or extend the existing
`\PhpOffice\PhpSpreadsheet\Cell\DefaultValueBinder` or
`\PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder` classes.
diff --git a/docs/topics/autofilters.md b/docs/topics/autofilters.md
index d5a07f8b..cd4291f4 100644
--- a/docs/topics/autofilters.md
+++ b/docs/topics/autofilters.md
@@ -251,16 +251,16 @@ $columnFilter->createRule()
);
```
-MS Excel uses \* as a wildcard to match any number of characters, and ?
-as a wildcard to match a single character. 'U\*' equates to "begins with
-a 'U'"; '\*U' equates to "ends with a 'U'"; and '\*U\*' equates to
-"contains a 'U'"
+MS Excel uses `*` as a wildcard to match any number of characters, and `?`
+as a wildcard to match a single character. `U*` equates to "begins with
+a 'U'"; `*U` equates to "ends with a 'U'"; and `*U*` equates to
+"contains a 'U'".
-If you want to match explicitly against a \* or a ? character, you can
-escape it with a tilde (\~), so ?\~\*\* would explicitly match for a \*
-character as the second character in the cell value, followed by any
+If you want to match explicitly against `*` or `?`, you can
+escape it with a tilde `~`, so `?~**` would explicitly match for `*`
+as the second character in the cell value, followed by any
number of other characters. The only other character that needs escaping
-is the \~ itself.
+is the `~` itself.
To create a "between" condition, we need to define two rules:
@@ -327,14 +327,14 @@ $columnFilter->setFilterType(
```
When defining the rule for a dynamic filter, we don't define a value (we
-can simply set that to NULL) but we do specify the dynamic filter
+can simply set that to null string) but we do specify the dynamic filter
category.
```php
$columnFilter->createRule()
->setRule(
\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
- NULL,
+ '',
\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE
)
->setRuleType(
diff --git a/docs/topics/file-formats.md b/docs/topics/file-formats.md
index 7f4e6b7e..6f8783e6 100644
--- a/docs/topics/file-formats.md
+++ b/docs/topics/file-formats.md
@@ -71,7 +71,7 @@ library.
### Csv
Comma Separated Value (CSV) file format is a common structuring strategy
-for text format files. In CSV flies, each line in the file represents a
+for text format files. In CSV files, each line in the file represents a
row of data and (within each line of the file) the different data fields
(or columns) are separated from one another using a comma (`,`). If a
data field contains a comma, then it should be enclosed (typically in
diff --git a/docs/topics/images/10-databar-of-conditional-formatting.png b/docs/topics/images/10-databar-of-conditional-formatting.png
new file mode 100644
index 00000000..10c88f9f
Binary files /dev/null and b/docs/topics/images/10-databar-of-conditional-formatting.png differ
diff --git a/docs/topics/memory_saving.md b/docs/topics/memory_saving.md
index 157bb704..e52a83e4 100644
--- a/docs/topics/memory_saving.md
+++ b/docs/topics/memory_saving.md
@@ -1,6 +1,6 @@
# Memory saving
-PhpSpreadsheet uses an average of about 1k per cell in your worksheets, so
+PhpSpreadsheet uses an average of about 1k per cell (1.6k on 64-bit PHP) in your worksheets, so
large workbooks can quickly use up available memory. Cell caching
provides a mechanism that allows PhpSpreadsheet to maintain the cell
objects in a smaller size of memory, or off-memory (eg: on disk, in APCu,
diff --git a/docs/topics/reading-and-writing-to-file.md b/docs/topics/reading-and-writing-to-file.md
index b319de0f..8bb48cc5 100644
--- a/docs/topics/reading-and-writing-to-file.md
+++ b/docs/topics/reading-and-writing-to-file.md
@@ -1,8 +1,7 @@
# Reading and writing to file
As you already know from the [architecture](./architecture.md#readers-and-writers),
-reading and writing to a
-persisted storage is not possible using the base PhpSpreadsheet classes.
+reading and writing to a persisted storage is not possible using the base PhpSpreadsheet classes.
For this purpose, PhpSpreadsheet provides readers and writers, which are
implementations of `\PhpOffice\PhpSpreadsheet\Reader\IReader` and
`\PhpOffice\PhpSpreadsheet\Writer\IWriter`.
@@ -139,6 +138,11 @@ $reader->setReadFilter( new MyReadFilter() );
$spreadsheet = $reader->load("06largescale.xlsx");
```
+Read Filtering does not renumber cell rows and columns. If you filter to read only rows 100-200, cells that you read will still be numbered A100-A200, not A1-A101. Cells A1-A99 will not be loaded, but if you then try to call `getCell()` for a cell outside your loaded range, then PHPSpreadsheet will create a new cell with a null value.
+
+Methods such as `toArray()` assume that all cells in a spreadsheet has been loaded from A1, so will return null values for rows and columns that fall outside your filter range: it is recommended that you keep track of the range that your filter has requested, and use `rangeToArray()` instead.
+
+
### \PhpOffice\PhpSpreadsheet\Writer\Xlsx
#### Writing a spreadsheet
@@ -162,6 +166,9 @@ $writer->setPreCalculateFormulas(false);
$writer->save("05featuredemo.xlsx");
```
+**Note** Formulas will still be calculated in any column set to be autosized
+even if pre-calculated is set to false
+
#### Office 2003 compatibility pack
Because of a bug in the Office2003 compatibility pack, there can be some
@@ -477,6 +484,41 @@ $reader->setSheetIndex(0);
$spreadsheet = $reader->load('sample.csv');
```
+You can also set the reader to guess the encoding
+rather than calling guessEncoding directly. In this case,
+the user-settable fallback encoding is used if nothing else works.
+
+```php
+$reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
+$reader->setInputEncoding(\PhpOffice\PhpSpreadsheet\Reader\Csv::GUESS_ENCODING);
+$reader->setFallbackEncoding('ISO-8859-2'); // default CP1252 without this statement
+$reader->setDelimiter(';');
+$reader->setEnclosure('');
+$reader->setSheetIndex(0);
+
+$spreadsheet = $reader->load('sample.csv');
+```
+
+Finally, you can set a callback to be invoked when the constructor is executed,
+either through `new Csv()` or `IOFactory::load`,
+and have that callback set the customizable attributes to whatever
+defaults are appropriate for your environment.
+
+```php
+function constructorCallback(\PhpOffice\PhpSpreadsheet\Reader\Csv $reader): void
+{
+ $reader->setInputEncoding(\PhpOffice\PhpSpreadsheet\Reader\Csv::GUESS_ENCODING);
+ $reader->setFallbackEncoding('ISO-8859-2');
+ $reader->setDelimiter(',');
+ $reader->setEnclosure('"');
+ // Following represents how Excel behaves better than the default escape character
+ $reader->setEscapeCharacter((version_compare(PHP_VERSION, '7.4') < 0) ? "\x0" : '');
+}
+
+\PhpOffice\PhpSpreadsheet\Reader\Csv::setConstructorCallback('constructorCallback');
+$spreadsheet = \PhpSpreadsheet\IOFactory::load('sample.csv');
+```
+
#### Read a specific worksheet
CSV files can only contain one worksheet. Therefore, you can specify
@@ -580,6 +622,18 @@ $writer->setUseBOM(true);
$writer->save("05featuredemo.csv");
```
+#### Writing CSV files with desired encoding
+
+It can be set to output with the encoding that can be specified by PHP's mb_convert_encoding.
+This looks like the following code:
+
+```php
+$writer = new \PhpOffice\PhpSpreadsheet\Writer\Csv($spreadsheet);
+$writer->setUseBOM(false);
+$writer->setOutputEncoding('SJIS-WIN');
+$writer->save("05featuredemo.csv");
+```
+
#### Decimal and thousands separators
If the worksheet you are exporting contains numbers with decimal or
@@ -837,8 +891,7 @@ class My_Custom_TCPDF_Writer extends \PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf
#### Writing a spreadsheet
-Once you have identified the Renderer that you wish to use for PDF
-generation, you can write a .pdf file using the following code:
+Once you have identified the Renderer that you wish to use for PDF generation, you can write a .pdf file using the following code:
```php
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf($spreadsheet);
@@ -850,8 +903,7 @@ first worksheet by default.
#### Write all worksheets
-PDF files can contain one or more worksheets. If you want to write all
-sheets into a single PDF file, use the following code:
+PDF files can contain one or more worksheets. If you want to write all sheets into a single PDF file, use the following code:
```php
$writer->writeAllSheets();
@@ -965,3 +1017,64 @@ $spreadhseet = $reader->loadFromString($secondHtmlString, $spreadsheet);
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xls');
$writer->save('write.xls');
```
+
+## Reader/Writer Flags
+
+Some Readers and Writers support special "Feature Flags" that need to be explicitly enabled.
+An example of this is Charts in a spreadsheet. By default, when you load a spreadsheet that contains Charts, the charts will not be loaded. If all you want to do is read the data in the spreadsheet, then loading charts is an overhead for both speed of loading and memory usage.
+However, there are times when you may want to load any charts in the spreadsheet as well as the data. To do so, you need to tell the Reader explicitly to include Charts.
+
+```php
+$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReaderForFile("05featuredemo.xlsx");
+$reader->setIncludeCharts(true);
+$reader->load("spreadsheetWithCharts.xlsx");
+```
+Alternatively, you can specify this in the call to load the spreadsheet:
+```php
+$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReaderForFile("spreadsheetWithCharts.xlsx");
+$reader->load("spreadsheetWithCharts.xlsx", $reader::LOAD_WITH_CHARTS);
+```
+
+If you wish to use the IOFactory `load()` method rather than instantiating a specific Reader, then you can still pass these flags.
+
+```php
+$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load("spreadsheetWithCharts.xlsx", \PhpOffice\PhpSpreadsheet\Reader\IReader::LOAD_WITH_CHARTS);
+```
+
+Likewise, when saving a file using a Writer, loaded charts wil not be saved unless you explicitly tell the Writer to include them:
+
+```php
+$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
+$writer->setIncludeCharts(true);
+$writer->save('mySavedFileWithCharts.xlsx');
+```
+
+As with the `load()` method, you can also pass flags in the `save()` method:
+```php
+$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
+$writer->save('mySavedFileWithCharts.xlsx', \PhpOffice\PhpSpreadsheet\Writer\IWriter::SAVE_WITH_CHARTS);
+```
+
+Currently, the only special "Feature Flag" that is supported in this way is the inclusion of Charts, and only for certain formats.
+
+Readers | LOAD_WITH_CHARTS |
+---------|------------------|
+Xlsx | YES |
+Xls | NO |
+Xml | NO |
+Ods | NO |
+Gnumeric | NO |
+Html | N/A |
+Slk | N/A |
+Csv | N/A |
+
+
+Writers | SAVE_WITH_CHARTS |
+--------|------------------|
+Xlsx | YES |
+Xls | NO |
+Ods | NO |
+Html | YES |
+Pdf | YES |
+Csv | N/A |
+
diff --git a/docs/topics/reading-files.md b/docs/topics/reading-files.md
index b46908a6..6c30f266 100644
--- a/docs/topics/reading-files.md
+++ b/docs/topics/reading-files.md
@@ -324,6 +324,10 @@ to read and process a large workbook in "chunks": an example of this
usage might be when transferring data from an Excel worksheet to a
database.
+Read Filtering does not renumber cell rows and columns. If you filter to read only rows 100-200, cells that you read will still be numbered A100-A200, not A1-A101. Cells A1-A99 will not be loaded, but if you then try to call `getCell()` for a cell outside your loaded range, then PHPSpreadsheet will create a new cell with a null value.
+
+Methods such as `toArray()` assume that all cells in a spreadsheet has been loaded from A1, so will return null values for rows and columns that fall outside your filter range: it is recommended that you keep track of the range that your filter has requested, and use `rangeToArray()` instead.
+
```php
$inputFileType = 'Xls';
$inputFileName = './sampleData/example2.xls';
diff --git a/docs/topics/recipes.md b/docs/topics/recipes.md
index db09642d..25d4bb50 100644
--- a/docs/topics/recipes.md
+++ b/docs/topics/recipes.md
@@ -201,7 +201,7 @@ $spreadsheet->getActiveSheet()->setCellValue('B8',$internalFormula);
```
Currently, formula translation only translates the function names, the
-constants TRUE and FALSE, and the function argument separators.
+constants TRUE and FALSE, and the function argument separators. Cell addressing using R1C1 formatting is not supported.
At present, the following locale settings are supported:
@@ -216,7 +216,7 @@ French | Français | fr
Hungarian | Magyar | hu
Italian | Italiano | it
Dutch | Nederlands | nl
-Norwegian | Norsk | no
+Norwegian | Norsk Bokmål | nb
Polish | Jezyk polski | pl
Portuguese | Português | pt
Brazilian Portuguese | Português Brasileiro | pt_br
@@ -475,7 +475,7 @@ $spreadsheet->getActiveSheet()->setBreak('D10', \PhpOffice\PhpSpreadsheet\Worksh
To show/hide gridlines when printing, use the following code:
```php
-$spreadsheet->getActiveSheet()->setShowGridlines(true);
+$spreadsheet->getActiveSheet()->setPrintGridlines(true);
```
### Setting rows/columns to repeat at top/left
@@ -884,6 +884,44 @@ $spreadsheet->getActiveSheet()
);
```
+### DataBar of Conditional formatting
+The basics are the same as conditional formatting.
+Additional DataBar object to conditional formatting.
+
+For example, the following code will result in the conditional formatting shown in the image.
+```php
+$conditional = new Conditional();
+$conditional->setConditionType(Conditional::CONDITION_DATABAR);
+$conditional->setDataBar(new ConditionalDataBar());
+$conditional->getDataBar()
+ ->setMinimumConditionalFormatValueObject(new ConditionalFormatValueObject('num', '2'))
+ ->setMaximumConditionalFormatValueObject(new ConditionalFormatValueObject('max'))
+ ->setColor('FFFF555A');
+$ext = $conditional
+ ->getDataBar()
+ ->setConditionalFormattingRuleExt(new ConditionalFormattingRuleExtension())
+ ->getConditionalFormattingRuleExt();
+
+$ext->setCfRule('dataBar');
+$ext->setSqref('A1:A5'); // target CellCoordinates
+$ext->setDataBarExt(new ConditionalDataBarExtension());
+$ext->getDataBarExt()
+ ->setMinimumConditionalFormatValueObject(new ConditionalFormatValueObject('num', '2'))
+ ->setMaximumConditionalFormatValueObject(new ConditionalFormatValueObject('autoMax'))
+ ->setMinLength(0)
+ ->setMaxLength(100)
+ ->setBorder(true)
+ ->setDirection('rightToLeft')
+ ->setNegativeBarBorderColorSameAsPositive(false)
+ ->setBorderColor('FFFF555A')
+ ->setNegativeFillColor('FFFF0000')
+ ->setNegativeBorderColor('FFFF0000')
+ ->setAxisColor('FF000000');
+
+```
+
+
+
## Add a comment to a cell
To add a comment to a cell, use the following code. The example below
@@ -950,6 +988,9 @@ $security->setLockStructure(true);
$security->setWorkbookPassword("PhpSpreadsheet");
```
+Note that there are additional methods setLockRevision and setRevisionsPassword
+which apply only to change tracking and history for shared workbooks.
+
### Worksheet
An example on setting worksheet security:
@@ -1063,7 +1104,7 @@ formula is allowed to be maximum 255 characters (not bytes). This sets a
limit on how many items you can have in the string "Item A,Item B,Item
C". Therefore it is normally a better idea to type the item values
directly in some cell range, say A1:A3, and instead use, say,
-`$validation->setFormula1('Sheet!$A$1:$A$3')`. Another benefit is that
+`$validation->setFormula1('\'Sheet title\'!$A$1:$A$3')`. Another benefit is that
the item values themselves can contain the comma `,` character itself.
If you need data validation on multiple cells, one can clone the
@@ -1073,6 +1114,11 @@ ruleset:
$spreadsheet->getActiveSheet()->getCell('B8')->setDataValidation(clone $validation);
```
+Alternatively, one can apply the validation to a range of cells:
+```php
+$validation->setSqref('B5:B1048576');
+```
+
## Setting a column's width
A column's width can be set using the following code:
@@ -1081,6 +1127,16 @@ A column's width can be set using the following code:
$spreadsheet->getActiveSheet()->getColumnDimension('D')->setWidth(12);
```
+If you want to set a column width using a different unit of measure,
+then you can do so by telling PhpSpreadsheet what UoM the width value
+that you are setting is measured in.
+Valid units are `pt` (points), `px` (pixels), `pc` (pica), `in` (inches),
+`cm` (centimeters) and `mm` (millimeters).
+
+```php
+$spreadsheet->getActiveSheet()->getColumnDimension('D')->setWidth(120, 'pt');
+```
+
If you want PhpSpreadsheet to perform an automatic width calculation,
use the following code. PhpSpreadsheet will approximate the column with
to the width of the widest column value.
@@ -1166,6 +1222,16 @@ Excel measures row height in points, where 1 pt is 1/72 of an inch (or
about 0.35mm). The default value is 12.75 pts; and the permitted range
of values is between 0 and 409 pts, where 0 pts is a hidden row.
+If you want to set a row height using a different unit of measure,
+then you can do so by telling PhpSpreadsheet what UoM the height value
+that you are setting is measured in.
+Valid units are `pt` (points), `px` (pixels), `pc` (pica), `in` (inches),
+`cm` (centimeters) and `mm` (millimeters).
+
+```php
+$spreadsheet->getActiveSheet()->getRowDimension('10')->setRowHeight(100, 'pt');
+```
+
## Show/hide a row
To set a worksheet''s row visibility, you can use the following code.
@@ -1311,9 +1377,11 @@ The following code extracts images from the current active worksheet,
and writes each as a separate file.
```php
+use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing;
$i = 0;
+
foreach ($spreadsheet->getActiveSheet()->getDrawingCollection() as $drawing) {
- if ($drawing instanceof \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing) {
+ if ($drawing instanceof MemoryDrawing) {
ob_start();
call_user_func(
$drawing->getRenderingFunction(),
@@ -1322,24 +1390,39 @@ foreach ($spreadsheet->getActiveSheet()->getDrawingCollection() as $drawing) {
$imageContents = ob_get_contents();
ob_end_clean();
switch ($drawing->getMimeType()) {
- case \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE_PNG :
+ case MemoryDrawing::MIMETYPE_PNG :
$extension = 'png';
break;
- case \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE_GIF:
+ case MemoryDrawing::MIMETYPE_GIF:
$extension = 'gif';
break;
- case \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE_JPEG :
+ case MemoryDrawing::MIMETYPE_JPEG :
$extension = 'jpg';
break;
}
} else {
- $zipReader = fopen($drawing->getPath(),'r');
- $imageContents = '';
- while (!feof($zipReader)) {
- $imageContents .= fread($zipReader,1024);
+ if ($drawing->getPath()) {
+ // Check if the source is a URL or a file path
+ if ($drawing->getIsURL()) {
+ $imageContents = file_get_contents($drawing->getPath());
+ $filePath = tempnam(sys_get_temp_dir(), 'Drawing');
+ file_put_contents($filePath , $imageContents);
+ $mimeType = mime_content_type($filePath);
+ // You could use the below to find the extension from mime type.
+ // https://gist.github.com/alexcorvi/df8faecb59e86bee93411f6a7967df2c#gistcomment-2722664
+ $extension = File::mime2ext($mimeType);
+ unlink($filePath);
+ }
+ else {
+ $zipReader = fopen($drawing->getPath(),'r');
+ $imageContents = '';
+ while (!feof($zipReader)) {
+ $imageContents .= fread($zipReader,1024);
+ }
+ fclose($zipReader);
+ $extension = $drawing->getExtension();
+ }
}
- fclose($zipReader);
- $extension = $drawing->getExtension();
}
$myFileName = '00_Image_'.++$i.'.'.$extension;
file_put_contents($myFileName,$imageContents);
@@ -1519,6 +1602,20 @@ Default column width can be set using the following code:
$spreadsheet->getActiveSheet()->getDefaultColumnDimension()->setWidth(12);
```
+Excel measures column width in its own proprietary units, based on the number
+of characters that will be displayed in the default font.
+
+If you want to set the default column width using a different unit of measure,
+then you can do so by telling PhpSpreadsheet what UoM the width value
+that you are setting is measured in.
+Valid units are `pt` (points), `px` (pixels), `pc` (pica), `in` (inches),
+`cm` (centimeters) and `mm` (millimeters).
+
+```php
+$spreadsheet->getActiveSheet()->getDefaultColumnDimension()->setWidth(400, 'pt');
+```
+and PhpSpreadsheet will handle the internal conversion.
+
## Setting the default row height
Default row height can be set using the following code:
@@ -1527,6 +1624,21 @@ Default row height can be set using the following code:
$spreadsheet->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);
```
+Excel measures row height in points, where 1 pt is 1/72 of an inch (or
+about 0.35mm). The default value is 12.75 pts; and the permitted range
+of values is between 0 and 409 pts, where 0 pts is a hidden row.
+
+If you want to set a row height using a different unit of measure,
+then you can do so by telling PhpSpreadsheet what UoM the height value
+that you are setting is measured in.
+Valid units are `pt` (points), `px` (pixels), `pc` (pica), `in` (inches),
+`cm` (centimeters) and `mm` (millimeters).
+
+```php
+$spreadsheet->getActiveSheet()->getDefaultRowDimension()->setRowHeight(100, 'pt');
+```
+
+
## Add a GD drawing to a worksheet
There might be a situation where you want to generate an in-memory image
diff --git a/src/PhpSpreadsheet/DocumentGenerator.php b/infra/DocumentGenerator.php
similarity index 95%
rename from src/PhpSpreadsheet/DocumentGenerator.php
rename to infra/DocumentGenerator.php
index 5e06af97..e2c3c86c 100644
--- a/src/PhpSpreadsheet/DocumentGenerator.php
+++ b/infra/DocumentGenerator.php
@@ -1,6 +1,6 @@
$functionInfo) {
@@ -78,7 +78,8 @@ class DocumentGenerator
$result = "# Function list by name\n";
$lastAlphabet = null;
foreach ($phpSpreadsheetFunctions as $excelFunction => $functionInfo) {
- $lengths = [20, 31, 42];
+ /** @var string $excelFunction */
+ $lengths = [25, 31, 37];
if ($lastAlphabet !== $excelFunction[0]) {
$lastAlphabet = $excelFunction[0];
$result .= "\n";
diff --git a/infra/LocaleGenerator.php b/infra/LocaleGenerator.php
new file mode 100644
index 00000000..bb97754d
--- /dev/null
+++ b/infra/LocaleGenerator.php
@@ -0,0 +1,345 @@
+translationBaseFolder = $translationBaseFolder;
+ $this->translationSpreadsheetName = $translationSpreadsheetName;
+ $this->phpSpreadsheetFunctions = $phpSpreadsheetFunctions;
+ $this->verbose = $verbose;
+ }
+
+ public function generateLocales(): void
+ {
+ $this->openTranslationWorkbook();
+
+ $this->localeTranslations = $this->getTranslationSheet(self::EXCEL_LOCALISATION_WORKSHEET);
+ $this->localeLanguageMap = $this->mapLanguageColumns($this->localeTranslations);
+ $this->mapErrorCodeRows();
+
+ $this->functionNameTranslations = $this->getTranslationSheet(self::EXCEL_FUNCTIONS_WORKSHEET);
+ $this->functionNameLanguageMap = $this->mapLanguageColumns($this->functionNameTranslations);
+ $this->mapFunctionNameRows();
+
+ foreach ($this->localeLanguageMap as $column => $locale) {
+ $this->buildConfigFileForLocale($column, $locale);
+ }
+
+ foreach ($this->functionNameLanguageMap as $column => $locale) {
+ $this->buildFunctionsFileForLocale($column, $locale);
+ }
+ }
+
+ protected function buildConfigFileForLocale($column, $locale): void
+ {
+ $language = $this->localeTranslations->getCell($column . self::ENGLISH_LANGUAGE_NAME_ROW)->getValue();
+ $localeLanguage = $this->localeTranslations->getCell($column . self::LOCALE_LANGUAGE_NAME_ROW)->getValue();
+ $configFile = $this->openConfigFile($locale, $language, $localeLanguage);
+
+ $this->writeConfigArgumentSeparator($configFile, $column);
+ $this->writeFileSectionHeader($configFile, 'Error Codes');
+
+ foreach ($this->errorCodeMap as $errorCode => $row) {
+ $translationCell = $this->localeTranslations->getCell($column . $row);
+ $translationValue = $translationCell->getValue();
+ if (!empty($translationValue)) {
+ $errorCodeTranslation = "{$errorCode} = {$translationValue}" . self::EOL;
+ fwrite($configFile, $errorCodeTranslation);
+ } else {
+ $errorCodeTranslation = "{$errorCode}" . self::EOL;
+ fwrite($configFile, $errorCodeTranslation);
+ $this->log("No {$language} translation available for error code {$errorCode}");
+ }
+ }
+
+ fclose($configFile);
+ }
+
+ protected function writeConfigArgumentSeparator($configFile, $column): void
+ {
+ $translationCell = $this->localeTranslations->getCell($column . self::ARGUMENT_SEPARATOR_ROW);
+ $localeValue = $translationCell->getValue();
+ if (!empty($localeValue)) {
+ $functionTranslation = "ArgumentSeparator = {$localeValue}" . self::EOL;
+ fwrite($configFile, $functionTranslation);
+ } else {
+ $this->log('No Argument Separator defined');
+ }
+ }
+
+ protected function buildFunctionsFileForLocale($column, $locale): void
+ {
+ $language = $this->functionNameTranslations->getCell($column . self::ENGLISH_LANGUAGE_NAME_ROW)->getValue();
+ $localeLanguage = $this->functionNameTranslations->getCell($column . self::LOCALE_LANGUAGE_NAME_ROW)
+ ->getValue();
+ $functionFile = $this->openFunctionNameFile($locale, $language, $localeLanguage);
+
+ foreach ($this->functionNameMap as $functionName => $row) {
+ $translationCell = $this->functionNameTranslations->getCell($column . $row);
+ $translationValue = $translationCell->getValue();
+ if ($this->isFunctionCategoryEntry($translationCell)) {
+ $this->writeFileSectionHeader($functionFile, "{$translationValue} ({$functionName})");
+ } elseif (!array_key_exists($functionName, $this->phpSpreadsheetFunctions)) {
+ $this->log("Function {$functionName} is not defined in PhpSpreadsheet");
+ } elseif (!empty($translationValue)) {
+ $functionTranslation = "{$functionName} = {$translationValue}" . self::EOL;
+ fwrite($functionFile, $functionTranslation);
+ } else {
+ $this->log("No {$language} translation available for function {$functionName}");
+ }
+ }
+
+ fclose($functionFile);
+ }
+
+ protected function openConfigFile(string $locale, string $language, string $localeLanguage)
+ {
+ $this->log("Building locale {$locale} ($language) configuration");
+ $localeFolder = $this->getLocaleFolder($locale);
+
+ $configFileName = realpath($localeFolder . DIRECTORY_SEPARATOR . 'config');
+ $this->log("Writing locale configuration to {$configFileName}");
+
+ $configFile = fopen($configFileName, 'wb');
+ $this->writeFileHeader($configFile, $localeLanguage, $language, 'locale settings');
+
+ return $configFile;
+ }
+
+ protected function openFunctionNameFile(string $locale, string $language, string $localeLanguage)
+ {
+ $this->log("Building locale {$locale} ($language) function names");
+ $localeFolder = $this->getLocaleFolder($locale);
+
+ $functionFileName = realpath($localeFolder . DIRECTORY_SEPARATOR . 'functions');
+ $this->log("Writing local function names to {$functionFileName}");
+
+ $functionFile = fopen($functionFileName, 'wb');
+ $this->writeFileHeader($functionFile, $localeLanguage, $language, 'function name translations');
+
+ return $functionFile;
+ }
+
+ protected function getLocaleFolder(string $locale): string
+ {
+ $localeFolder = $this->translationBaseFolder .
+ DIRECTORY_SEPARATOR .
+ str_replace('_', DIRECTORY_SEPARATOR, $locale);
+ if (!file_exists($localeFolder) || !is_dir($localeFolder)) {
+ mkdir($localeFolder, 0777, true);
+ }
+
+ return $localeFolder;
+ }
+
+ protected function writeFileHeader($localeFile, string $localeLanguage, string $language, string $title): void
+ {
+ fwrite($localeFile, str_repeat('#', 60) . self::EOL);
+ fwrite($localeFile, '##' . self::EOL);
+ fwrite($localeFile, "## PhpSpreadsheet - {$title}" . self::EOL);
+ fwrite($localeFile, '##' . self::EOL);
+ fwrite($localeFile, "## {$localeLanguage} ({$language})" . self::EOL);
+ fwrite($localeFile, '##' . self::EOL);
+ fwrite($localeFile, str_repeat('#', 60) . self::EOL . self::EOL);
+ }
+
+ protected function writeFileSectionHeader($localeFile, string $header): void
+ {
+ fwrite($localeFile, self::EOL . '##' . self::EOL);
+ fwrite($localeFile, "## {$header}" . self::EOL);
+ fwrite($localeFile, '##' . self::EOL);
+ }
+
+ protected function openTranslationWorkbook(): void
+ {
+ $filepathName = $this->translationBaseFolder . '/' . $this->translationSpreadsheetName;
+ $this->translationSpreadsheet = IOFactory::load($filepathName);
+ }
+
+ protected function getTranslationSheet(string $sheetName): Worksheet
+ {
+ $worksheet = $this->translationSpreadsheet->setActiveSheetIndexByName($sheetName);
+ if ($worksheet === null) {
+ throw new Exception("{$sheetName} Worksheet not found");
+ }
+
+ return $worksheet;
+ }
+
+ protected function mapLanguageColumns(Worksheet $translationWorksheet): array
+ {
+ $sheetName = $translationWorksheet->getTitle();
+ $this->log("Mapping Languages for {$sheetName}:");
+
+ $baseColumn = self::ENGLISH_REFERENCE_COLUMN;
+ $languagesList = $translationWorksheet->getColumnIterator(++$baseColumn);
+
+ $languageNameMap = [];
+ foreach ($languagesList as $languageColumn) {
+ /** @var Column $languageColumn */
+ $cells = $languageColumn->getCellIterator(self::LOCALE_NAME_ROW, self::LOCALE_NAME_ROW);
+ $cells->setIterateOnlyExistingCells(true);
+ foreach ($cells as $cell) {
+ /** @var Cell $cell */
+ if ($this->localeCanBeSupported($translationWorksheet, $cell)) {
+ $languageNameMap[$cell->getColumn()] = $cell->getValue();
+ $this->log($cell->getColumn() . ' -> ' . $cell->getValue());
+ }
+ }
+ }
+
+ return $languageNameMap;
+ }
+
+ protected function localeCanBeSupported(Worksheet $worksheet, Cell $cell): bool
+ {
+ if ($worksheet->getTitle() === self::EXCEL_LOCALISATION_WORKSHEET) {
+ // Only provide support for languages that have a function argument separator defined
+ // in the localisation worksheet
+ return !empty(
+ $worksheet->getCell($cell->getColumn() . self::ARGUMENT_SEPARATOR_ROW)->getValue()
+ );
+ }
+
+ // If we're processing other worksheets, then language support is determined by whether we included the
+ // language in the map when we were processing the localisation worksheet (which is always processed first)
+ return in_array($cell->getValue(), $this->localeLanguageMap, true);
+ }
+
+ protected function mapErrorCodeRows(): void
+ {
+ $this->log('Mapping Error Codes:');
+ $errorList = $this->localeTranslations->getRowIterator(self::ERROR_CODES_FIRST_ROW);
+
+ foreach ($errorList as $errorRow) {
+ /** @var Row $errorList */
+ $cells = $errorRow->getCellIterator(self::ENGLISH_REFERENCE_COLUMN, self::ENGLISH_REFERENCE_COLUMN);
+ $cells->setIterateOnlyExistingCells(true);
+ foreach ($cells as $cell) {
+ /** @var Cell $cell */
+ if ($cell->getValue() != '') {
+ $this->log($cell->getRow() . ' -> ' . $cell->getValue());
+ $this->errorCodeMap[$cell->getValue()] = $cell->getRow();
+ }
+ }
+ }
+ }
+
+ protected function mapFunctionNameRows(): void
+ {
+ $this->log('Mapping Functions:');
+ $functionList = $this->functionNameTranslations->getRowIterator(self::FUNCTION_NAME_LIST_FIRST_ROW);
+
+ foreach ($functionList as $functionRow) {
+ /** @var Row $functionRow */
+ $cells = $functionRow->getCellIterator(self::ENGLISH_REFERENCE_COLUMN, self::ENGLISH_REFERENCE_COLUMN);
+ $cells->setIterateOnlyExistingCells(true);
+ foreach ($cells as $cell) {
+ /** @var Cell $cell */
+ if ($this->isFunctionCategoryEntry($cell)) {
+ if (!empty($cell->getValue())) {
+ $this->log('CATEGORY: ' . $cell->getValue());
+ $this->functionNameMap[$cell->getValue()] = $cell->getRow();
+ }
+
+ continue;
+ }
+ if ($cell->getValue() != '') {
+ if (is_bool($cell->getValue())) {
+ $this->log($cell->getRow() . ' -> ' . ($cell->getValue() ? 'TRUE' : 'FALSE'));
+ $this->functionNameMap[($cell->getValue() ? 'TRUE' : 'FALSE')] = $cell->getRow();
+ } else {
+ $this->log($cell->getRow() . ' -> ' . $cell->getValue());
+ $this->functionNameMap[$cell->getValue()] = $cell->getRow();
+ }
+ }
+ }
+ }
+ }
+
+ private function isFunctionCategoryEntry(Cell $cell): bool
+ {
+ $categoryCheckCell = self::ENGLISH_FUNCTION_CATEGORIES_COLUMN . $cell->getRow();
+ if ($this->functionNameTranslations->getCell($categoryCheckCell)->getValue() != '') {
+ return true;
+ }
+
+ return false;
+ }
+
+ private function log(string $message): void
+ {
+ if ($this->verbose === false) {
+ return;
+ }
+
+ echo $message, self::EOL;
+ }
+}
diff --git a/mkdocs.yml b/mkdocs.yml
index cf87a142..f79acb69 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -5,3 +5,5 @@ edit_uri: edit/master/docs/
theme: readthedocs
extra_css:
- extra/extra.css
+extra_javascript:
+ - extra/extrajs.js
diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
new file mode 100644
index 00000000..0fca9ef3
--- /dev/null
+++ b/phpstan-baseline.neon
@@ -0,0 +1,6292 @@
+parameters:
+ ignoreErrors:
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$returnArrayAsType has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$branchPruningEnabled has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$cellStack has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$cyclicFormulaCell has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$localeFunctions has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$phpSpreadsheetFunctions has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$controlFunctions has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$spreadsheet \\(PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Argument of an invalid type array\\\\|false supplied for foreach, only iterables are supported\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#3 \\$formula of static method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:translateSeparator\\(\\) expects string, string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$functionReplaceFromExcel has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$functionReplaceToLocale has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:_translateFormulaToLocale\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:_translateFormulaToLocale\\(\\) has parameter \\$formula with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#1 \\$str of function preg_quote expects string, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$functionReplaceFromLocale has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$functionReplaceToExcel has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:_translateFormulaToEnglish\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:_translateFormulaToEnglish\\(\\) has parameter \\$formula with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#1 \\$str of function trim expects string, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:localeFunc\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:localeFunc\\(\\) has parameter \\$function with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method getCell\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 6
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$operatorAssociativity has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$comparisonOperators has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:\\$operatorPrecedence has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between mixed and null will always evaluate to false\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#1 \\$haystack of function stripos expects string, float\\|int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#1 \\$haystack of function strpos expects string, float\\|int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:dataTestReference\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:dataTestReference\\(\\) has parameter \\$operandData with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method getTitle\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method getColumn\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#1 \\$str of function trim expects string, null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method getCoordinate\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method getRow\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method has\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Cells\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#1 \\$parent of method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\:\\:attach\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Cells, PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Cells\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method attach\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:validateBinaryOperand\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:validateBinaryOperand\\(\\) has parameter \\$operand with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:validateBinaryOperand\\(\\) has parameter \\$stack with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#1 \\$textValue of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:strCaseReverse\\(\\) expects string, string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:raiseFormulaError\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:raiseFormulaError\\(\\) has parameter \\$errorMessage with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method cellExists\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#2 \\$worksheet of static method PhpOffice\\\\PhpSpreadsheet\\\\DefinedName\\:\\:resolveName\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet, PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method getHighestRow\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Cannot call method getHighestColumn\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:getUnusedBranchStoreKey\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:getTokensAsString\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\:\\:getTokensAsString\\(\\) has parameter \\$tokens with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Calculation.php
+
+ -
+ message: "#^Parameter \\#2 \\$field of static method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\\\DCountA\\:\\:evaluate\\(\\) expects int\\|string, int\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DMAX\\(\\) should return float but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DMIN\\(\\) should return float but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DPRODUCT\\(\\) should return float\\|string but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DSTDEV\\(\\) should return float\\|string but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DSTDEVP\\(\\) should return float\\|string but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DSUM\\(\\) should return float\\|string but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DVAR\\(\\) should return float\\|string but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\:\\:DVARP\\(\\) should return float\\|string but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\\\DatabaseAbstract\\:\\:evaluate\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\\\DatabaseAbstract\\:\\:evaluate\\(\\) has parameter \\$criteria with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\\\DatabaseAbstract\\:\\:evaluate\\(\\) has parameter \\$database with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\\\DatabaseAbstract\\:\\:evaluate\\(\\) has parameter \\$field with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\\\DatabaseAbstract\\:\\:buildCondition\\(\\) has parameter \\$criterion with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Database\\\\DatabaseAbstract\\:\\:processCondition\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engine\\\\Logger\\:\\:writeDebugLog\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engine/Logger.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\:\\:BITLSHIFT\\(\\) should return int\\|string but returns float\\|int\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\:\\:BITRSHIFT\\(\\) should return int\\|string but returns float\\|int\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\BesselJ\\:\\:besselj2a\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/BesselJ.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\BesselJ\\:\\:besselj2b\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/BesselJ.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\BesselK\\:\\:besselK2\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/BesselK.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\BitWise\\:\\:validateBitwiseArgument\\(\\) never returns int so it can be removed from the return typehint\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/BitWise.php
+
+ -
+ message: "#^Parameter \\#1 \\$number of function floor expects float, float\\|int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/BitWise.php
+
+ -
+ message: "#^Parameter \\#1 \\$number of function floor expects float, float\\|int\\<0, 281474976710655\\>\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/BitWise.php
+
+ -
+ message: "#^Parameter \\#1 \\$power of method Complex\\\\Complex\\:\\:pow\\(\\) expects float\\|int, float\\|int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ComplexFunctions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\ConvertBase\\:\\:validateValue\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ConvertBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\ConvertBase\\:\\:validatePlaces\\(\\) has parameter \\$places with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ConvertBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\ConvertUOM\\:\\:getUOMDetails\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ConvertUOM.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\ConvertUOM\\:\\:resolveTemperatureSynonyms\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ConvertUOM.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\Erf\\:\\:\\$twoSqrtPi has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/Erf.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\Erf\\:\\:erfValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/Erf.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\Erf\\:\\:erfValue\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/Erf.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\ErfC\\:\\:\\$oneSqrtPi has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ErfC.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\ErfC\\:\\:erfcValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ErfC.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Engineering\\\\ErfC\\:\\:erfcValue\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Engineering/ErfC.php
+
+ -
+ message: "#^Parameter \\#1 \\$callback of function set_error_handler expects \\(callable\\(int, string, string, int, array\\)\\: bool\\)\\|null, array\\('PhpOffice\\\\\\\\PhpSpreadsheet\\\\\\\\Calculation\\\\\\\\Exception', 'errorHandlerCallback'\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/ExceptionHandler.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\:\\:ISPMT\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\:\\:ISPMT\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\:\\:NPV\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:schedulePayment\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:rateNextGuess\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:rateNextGuess\\(\\) has parameter \\$futureValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:rateNextGuess\\(\\) has parameter \\$numberOfPeriods with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:rateNextGuess\\(\\) has parameter \\$payment with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:rateNextGuess\\(\\) has parameter \\$presentValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:rateNextGuess\\(\\) has parameter \\$rate with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\Interest\\:\\:rateNextGuess\\(\\) has parameter \\$type with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\InterestAndPrincipal\\:\\:\\$interest has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Constant\\\\Periodic\\\\InterestAndPrincipal\\:\\:\\$principal has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php
+
+ -
+ message: "#^Binary operation \"\\-\" between float\\|string and 0\\|float results in an error\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\CashFlow\\\\Variable\\\\Periodic\\:\\:presentValue\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/Periodic.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\Depreciation\\:\\:validateCost\\(\\) has parameter \\$cost with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/Depreciation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\Depreciation\\:\\:validateSalvage\\(\\) has parameter \\$salvage with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/Depreciation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\Depreciation\\:\\:validateLife\\(\\) has parameter \\$life with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/Depreciation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\Depreciation\\:\\:validatePeriod\\(\\) has parameter \\$period with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/Depreciation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\Depreciation\\:\\:validateMonth\\(\\) has parameter \\$month with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/Depreciation.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Financial\\\\Depreciation\\:\\:validateFactor\\(\\) has parameter \\$factor with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Financial/Depreciation.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between string and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/FormulaParser.php
+
+ -
+ message: "#^Cannot call method setValue\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\FormulaToken\\|null\\.$#"
+ count: 5
+ path: src/PhpSpreadsheet/Calculation/FormulaParser.php
+
+ -
+ message: "#^Cannot call method setTokenSubType\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\FormulaToken\\|null\\.$#"
+ count: 5
+ path: src/PhpSpreadsheet/Calculation/FormulaParser.php
+
+ -
+ message: "#^Cannot call method getTokenType\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\FormulaToken\\|null\\.$#"
+ count: 9
+ path: src/PhpSpreadsheet/Calculation/FormulaParser.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\FormulaToken and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/FormulaParser.php
+
+ -
+ message: "#^Cannot call method getTokenSubType\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\FormulaToken\\|null\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Calculation/FormulaParser.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:isMatrixValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:isMatrixValue\\(\\) has parameter \\$idx with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:isValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:isValue\\(\\) has parameter \\$idx with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:isCellValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:isCellValue\\(\\) has parameter \\$idx with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:ifCondition\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:ifCondition\\(\\) has parameter \\$condition with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:operandSpecialHandling\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Functions\\:\\:operandSpecialHandling\\(\\) has parameter \\$operand with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Cannot call method getCell\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Functions.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Internal\\\\MakeMatrix\\:\\:make\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Internal/MakeMatrix.php
+
+ -
+ message: "#^Call to function is_string\\(\\) with null will always evaluate to false\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Calculation/Logical/Operations.php
+
+ -
+ message: "#^Result of && is always false\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Calculation/Logical/Operations.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\:\\:OFFSET\\(\\) should return array\\|string but returns array\\|int\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\:\\:CHOOSE\\(\\) has parameter \\$chooseArgs with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Address\\:\\:sheetName\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Address.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchFirstValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchFirstValue\\(\\) has parameter \\$lookupArray with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchFirstValue\\(\\) has parameter \\$lookupValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchLargestValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchLargestValue\\(\\) has parameter \\$keySet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchLargestValue\\(\\) has parameter \\$lookupArray with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchLargestValue\\(\\) has parameter \\$lookupValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchSmallestValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchSmallestValue\\(\\) has parameter \\$lookupArray with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:matchSmallestValue\\(\\) has parameter \\$lookupValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:validateLookupValue\\(\\) has parameter \\$lookupValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:validateMatchType\\(\\) has parameter \\$matchType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:validateLookupArray\\(\\) has parameter \\$lookupArray with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:prepareLookupArray\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:prepareLookupArray\\(\\) has parameter \\$lookupArray with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\ExcelMatch\\:\\:prepareLookupArray\\(\\) has parameter \\$matchType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Lookup\\:\\:verifyResultVector\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Lookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Lookup\\:\\:verifyResultVector\\(\\) has parameter \\$resultVector with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Lookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\LookupBase\\:\\:validateIndexLookup\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\LookupBase\\:\\:validateIndexLookup\\(\\) has parameter \\$index_number with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\LookupBase\\:\\:validateIndexLookup\\(\\) has parameter \\$lookup_array with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\LookupBase\\:\\:checkMatch\\(\\) has parameter \\$notExactMatch with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Matrix\\:\\:extractRowValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:extractRequiredCells\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:extractWorksheet\\(\\) has parameter \\$cellAddress with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:adjustEndCellColumnForWidth\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:adjustEndCellColumnForWidth\\(\\) has parameter \\$columns with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:adjustEndCellColumnForWidth\\(\\) has parameter \\$width with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:adustEndCellRowForHeight\\(\\) has parameter \\$endCellRow with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:adustEndCellRowForHeight\\(\\) has parameter \\$height with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\Offset\\:\\:adustEndCellRowForHeight\\(\\) has parameter \\$rows with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/Offset.php
+
+ -
+ message: "#^Parameter \\#1 \\$columnAddress of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:columnIndexFromString\\(\\) expects string, string\\|null given\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php
+
+ -
+ message: "#^Parameter \\#1 \\$low of function range expects float\\|int\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php
+
+ -
+ message: "#^Parameter \\#2 \\$high of function range expects float\\|int\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php
+
+ -
+ message: "#^Parameter \\#2 \\$cmp_function of function uasort expects callable\\(mixed, mixed\\)\\: int, array\\('self', 'vlookupSort'\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vlookupSort\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vlookupSort\\(\\) has parameter \\$a with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vlookupSort\\(\\) has parameter \\$b with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vLookupSearch\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vLookupSearch\\(\\) has parameter \\$column with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vLookupSearch\\(\\) has parameter \\$lookupArray with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vLookupSearch\\(\\) has parameter \\$lookupValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\LookupRef\\\\VLookup\\:\\:vLookupSearch\\(\\) has parameter \\$notExactMatch with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\:\\:MAXIFS\\(\\) should return float but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\:\\:MINIFS\\(\\) should return float but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Averages\\:\\:filterArguments\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Averages.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Averages\\:\\:filterArguments\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Averages.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Averages\\:\\:modeCalc\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Averages.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Averages\\:\\:modeCalc\\(\\) has parameter \\$data with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Averages.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Percentiles\\:\\:percentileFilterValues\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Percentiles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Percentiles\\:\\:rankFilterValues\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Percentiles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Trends\\:\\:checkTrendArrays\\(\\) has parameter \\$array1 with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Trends.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Trends\\:\\:checkTrendArrays\\(\\) has parameter \\$array2 with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Trends.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Trends\\:\\:GROWTH\\(\\) should return array\\ but returns array\\\\>\\>\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Trends.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Trends\\:\\:TREND\\(\\) should return array\\ but returns array\\\\>\\>\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Trends.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Conditional\\:\\:SUMIF\\(\\) should return float\\|string but returns float\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Conditional.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Conditional\\:\\:buildConditionSet\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Conditional.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Conditional\\:\\:buildConditionSetForValueRange\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Conditional.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Conditional\\:\\:buildConditions\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Conditional.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Conditional\\:\\:buildDatabase\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Conditional.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Conditional\\:\\:buildDatabaseWithValueRange\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Conditional.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Conditional\\:\\:buildDataSet\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Conditional.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\Beta\\:\\:\\$logBetaCacheP has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\Beta\\:\\:\\$logBetaCacheQ has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\Beta\\:\\:\\$logBetaCacheResult has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:pchisq\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:pchisq\\(\\) has parameter \\$chi2 with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:pchisq\\(\\) has parameter \\$degrees with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gammp\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gammp\\(\\) has parameter \\$n with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gammp\\(\\) has parameter \\$x with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gser\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gser\\(\\) has parameter \\$n with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gser\\(\\) has parameter \\$x with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gcf\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gcf\\(\\) has parameter \\$n with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\ChiSquared\\:\\:gcf\\(\\) has parameter \\$x with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\Normal\\:\\:inverseNcdf\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/Normal.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\Normal\\:\\:inverseNcdf\\(\\) has parameter \\$p with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/Normal.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:calculateDistribution\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:calculateInverse\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:\\$logGammaCacheResult has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:\\$logGammaCacheX has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:logGamma1\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:logGamma2\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:logGamma3\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\GammaBase\\:\\:logGamma4\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\NewtonRaphson\\:\\:\\$callback has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/NewtonRaphson.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\Distributions\\\\NewtonRaphson\\:\\:execute\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/NewtonRaphson.php
+
+ -
+ message: "#^Binary operation \"\\-\" between float\\|string and float\\|int\\|\\(string&numeric\\) results in an error\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/Distributions/StandardNormal.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\MaxMinBase\\:\\:datatypeAdjustmentAllowStrings\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/MaxMinBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\MaxMinBase\\:\\:datatypeAdjustmentAllowStrings\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/MaxMinBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\VarianceBase\\:\\:datatypeAdjustmentAllowStrings\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\VarianceBase\\:\\:datatypeAdjustmentAllowStrings\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\VarianceBase\\:\\:datatypeAdjustmentBooleans\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Statistical\\\\VarianceBase\\:\\:datatypeAdjustmentBooleans\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\TextData\\:\\:TRIMNONPRINTABLE\\(\\) should return string but returns string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/TextData.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\TextData\\:\\:CONCATENATE\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/TextData.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\TextData\\:\\:SEARCHSENSITIVE\\(\\) should return string but returns int\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/TextData.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\TextData\\:\\:SEARCHINSENSITIVE\\(\\) should return string but returns int\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/TextData.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Token\\\\Stack\\:\\:getStackItem\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Token/Stack.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Token\\\\Stack\\:\\:getStackItem\\(\\) has parameter \\$onlyIf with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Token/Stack.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Token\\\\Stack\\:\\:getStackItem\\(\\) has parameter \\$onlyIfNot with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Token/Stack.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Token\\\\Stack\\:\\:getStackItem\\(\\) has parameter \\$reference with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Token/Stack.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Token\\\\Stack\\:\\:getStackItem\\(\\) has parameter \\$storeKey with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Token/Stack.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Token\\\\Stack\\:\\:getStackItem\\(\\) has parameter \\$type with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Token/Stack.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Token\\\\Stack\\:\\:getStackItem\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Calculation/Token/Stack.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\:\\:\\$formulaAttributes has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Cell.php
+
+ -
+ message: "#^Elseif branch is unreachable because previous condition is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Cell.php
+
+ -
+ message: "#^Parameter \\#2 \\$format of static method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\:\\:toFormattedString\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Cell.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Cell.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\:\\:getFormulaAttributes\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Cell.php
+
+ -
+ message: "#^Parameter \\#2 \\$str of function explode expects string, array\\\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Coordinate.php
+
+ -
+ message: "#^Parameter \\#4 \\$currentRow of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:validateRange\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Coordinate.php
+
+ -
+ message: "#^Parameter \\#5 \\$endRow of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:validateRange\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Coordinate.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getHashCode\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Coordinate.php
+
+ -
+ message: "#^Parameter \\#1 \\$input of function array_chunk expects array, array\\\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/Coordinate.php
+
+ -
+ message: "#^Parameter \\#1 \\$textValue of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:substring\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Cell/DataType.php
+
+ -
+ message: "#^Parameter \\#2 \\$alpha of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\:\\:setShadowColor\\(\\) expects int, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Axis.php
+
+ -
+ message: "#^Parameter \\#1 \\$blur of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\:\\:setShadowBlur\\(\\) expects float, float\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Axis.php
+
+ -
+ message: "#^Parameter \\#1 \\$angle of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\:\\:setShadowAngle\\(\\) expects int, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Axis.php
+
+ -
+ message: "#^Parameter \\#1 \\$distance of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\:\\:setShadowDistance\\(\\) expects float, float\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Axis.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$title \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$legend \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Legend\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Legend\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$xAxisLabel \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$yAxisLabel \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$plotArea \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\PlotArea\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\PlotArea\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$xAxis \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$yAxis \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$majorGridlines \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$minorGridlines \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:\\$worksheet \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setTopLeftXOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setTopLeftXOffset\\(\\) has parameter \\$xOffset with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:getTopLeftXOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setTopLeftYOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setTopLeftYOffset\\(\\) has parameter \\$yOffset with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:getTopLeftYOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setBottomRightCell\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setBottomRightCell\\(\\) has parameter \\$cell with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setBottomRightXOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setBottomRightXOffset\\(\\) has parameter \\$xOffset with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:getBottomRightXOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setBottomRightYOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:setBottomRightYOffset\\(\\) has parameter \\$yOffset with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\:\\:getBottomRightYOffset\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Chart.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues and null will always evaluate to false\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Chart/DataSeries.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues\\:\\:\\$dataTypeValues has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/DataSeriesValues.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues\\:\\:\\$dataSource \\(string\\) does not accept string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/DataSeriesValues.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues\\:\\:\\$fillColor \\(array\\\\|string\\) does not accept array\\\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/DataSeriesValues.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues\\:\\:refresh\\(\\) has parameter \\$flatten with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/DataSeriesValues.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:\\$objectState has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:\\$lineProperties has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:\\$shadowProperties has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:\\$glowProperties has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:\\$softEdges has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Parameter \\#1 \\$color of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:setGlowColor\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Parameter \\#2 \\$alpha of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:setGlowColor\\(\\) expects int, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Parameter \\#3 \\$colorType of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:setGlowColor\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Parameter \\#1 \\$angle of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:setShadowAngle\\(\\) expects int, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Parameter \\#1 \\$distance of method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\:\\:setShadowDistance\\(\\) expects float, float\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/GridLines.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Legend\\:\\:\\$positionXLref has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Legend.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Legend\\:\\:\\$layout \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Layout\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Layout\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Legend.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\PlotArea\\:\\:\\$layout \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Layout\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Layout\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/PlotArea.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getTrueAlpha\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getTrueAlpha\\(\\) has parameter \\$alpha with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:setColorProperties\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:setColorProperties\\(\\) has parameter \\$alpha with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:setColorProperties\\(\\) has parameter \\$color with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:setColorProperties\\(\\) has parameter \\$colorType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getLineStyleArrowSize\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getLineStyleArrowSize\\(\\) has parameter \\$arrayKaySelector with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getLineStyleArrowSize\\(\\) has parameter \\$arraySelector with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getShadowPresetsMap\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getShadowPresetsMap\\(\\) has parameter \\$presetsOption with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getArrayElementsValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getArrayElementsValue\\(\\) has parameter \\$elements with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Properties\\:\\:getArrayElementsValue\\(\\) has parameter \\$properties with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Properties.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$width has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$height has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$colourSet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$markSet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$chart has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$graph has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$plotColour has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:\\$plotMark has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatPointMarker\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatPointMarker\\(\\) has parameter \\$markerID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatPointMarker\\(\\) has parameter \\$seriesPlot with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatDataSetLabels\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatDataSetLabels\\(\\) has parameter \\$datasetLabels with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatDataSetLabels\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatDataSetLabels\\(\\) has parameter \\$labelCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:formatDataSetLabels\\(\\) has parameter \\$rotation with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:percentageSumCalculation\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:percentageSumCalculation\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:percentageSumCalculation\\(\\) has parameter \\$seriesCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:percentageAdjustValues\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:percentageAdjustValues\\(\\) has parameter \\$dataValues with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:percentageAdjustValues\\(\\) has parameter \\$sumValues with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:getCaption\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:getCaption\\(\\) has parameter \\$captionElement with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderCartesianPlotArea\\(\\) has parameter \\$type with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotLine\\(\\) has parameter \\$combination with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotLine\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotLine\\(\\) has parameter \\$filled with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotLine\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotBar\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotBar\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotScatter\\(\\) has parameter \\$bubble with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotScatter\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotRadar\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotContour\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPlotStock\\(\\) has parameter \\$groupID with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderAreaChart\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderAreaChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderLineChart\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderLineChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderBarChart\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderBarChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderScatterChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderBubbleChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPieChart\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPieChart\\(\\) has parameter \\$doughnut with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPieChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderPieChart\\(\\) has parameter \\$multiplePlots with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderRadarChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderStockChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderContourChart\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderContourChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderCombinationChart\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderCombinationChart\\(\\) has parameter \\$dimensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderCombinationChart\\(\\) has parameter \\$groupCount with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Renderer\\\\JpGraph\\:\\:renderCombinationChart\\(\\) has parameter \\$outputDestination with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\:\\:\\$layout \\(PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Layout\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Layout\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Chart/Title.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Cells\\:\\:getParent\\(\\) should return PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet but returns PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Collection/Cells.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Collection/Cells.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Cells\\:\\:getCurrentCoordinate\\(\\) should return string but returns string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Collection/Cells.php
+
+ -
+ message: "#^Parameter \\#1 \\$str of function sscanf expects string, string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Collection/Cells.php
+
+ -
+ message: "#^Parameter \\#1 \\$columnIndex of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:stringFromColumnIndex\\(\\) expects int, int\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Collection/Cells.php
+
+ -
+ message: "#^Possibly invalid array key type \\(array\\|string\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Collection/Cells.php
+
+ -
+ message: "#^Cannot call method detach\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Collection/Cells.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Memory\\:\\:\\$cache has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Collection/Memory.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\DefinedName\\:\\:\\$worksheet \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/DefinedName.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\DefinedName\\:\\:\\$scope \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/DefinedName.php
+
+ -
+ message: "#^Parameter \\#1 \\$namedRange of method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\:\\:addNamedRange\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\NamedRange, \\$this\\(PhpOffice\\\\PhpSpreadsheet\\\\DefinedName\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/DefinedName.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$colourMap has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$face has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$size has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$color has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$bold has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$italic has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$underline has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$superscript has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$subscript has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$strikethrough has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$startTagCallbacks has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$endTagCallbacks has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$stack has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:\\$stringData has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$text of method PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\ITextElement\\:\\:setText\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setName\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setSize\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setColor\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setBold\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setItalic\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setUnderline\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setSuperscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setSubscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Cannot call method setStrikethrough\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\:\\:startFontTag\\(\\) has parameter \\$tag with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$function of function call_user_func expects callable\\(\\)\\: mixed, array\\(\\$this\\(PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Html\\), mixed\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$directory of class RecursiveDirectoryIterator constructor expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Sample.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Sample.php
+
+ -
+ message: "#^Parameter \\#1 \\$path of function pathinfo expects string, array\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Sample.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Sample.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Sample\\:\\:getSamples\\(\\) should return array\\\\> but returns array\\\\>\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Sample.php
+
+ -
+ message: "#^Parameter \\#1 \\$filename of function unlink expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Sample.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Helper\\\\Sample\\:\\:log\\(\\) has parameter \\$message with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Helper/Sample.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\IOFactory\\:\\:\\$readers has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/IOFactory.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\IOFactory\\:\\:\\$writers has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/IOFactory.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\BaseReader\\:\\:\\$fileHandle has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/BaseReader.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\BaseReader\\:\\:getSecurityScanner\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/BaseReader.php
+
+ -
+ message: "#^Cannot call method getNamespaces\\(\\) on SimpleXMLElement\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Cannot call method children\\(\\) on SimpleXMLElement\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\:\\:listWorksheetNames\\(\\) should return array\\ but returns array\\\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Cannot call method getElementsByTagNameNS\\(\\) on DOMElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Parameter \\#1 \\$element of method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\:\\:scanElementForText\\(\\) expects DOMNode, DOMElement\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Cannot call method getAttributeNS\\(\\) on DOMElement\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Parameter \\#1 \\$settings of method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\:\\:lookForActiveSheet\\(\\) expects DOMElement, DOMElement\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Parameter \\#1 \\$settings of method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\:\\:lookForSelectedCells\\(\\) expects DOMElement, DOMElement\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Cannot call method setSelectedCellByColumnAndRow\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Cannot call method getNamedItem\\(\\) on DOMNamedNodeMap\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^If condition is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\PageSettings\\:\\:\\$officeNs has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/PageSettings.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\PageSettings\\:\\:\\$stylesNs has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/PageSettings.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\PageSettings\\:\\:\\$stylesFo has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/PageSettings.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\PageSettings\\:\\:\\$pageLayoutStyles has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/PageSettings.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\PageSettings\\:\\:\\$masterStylesCrossReference has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/PageSettings.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\PageSettings\\:\\:\\$masterPrintStylesCrossReference has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/PageSettings.php
+
+ -
+ message: "#^Cannot call method getElementsByTagNameNS\\(\\) on DOMElement\\|null\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Reader/Ods/PageSettings.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\Properties\\:\\:\\$spreadsheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\Properties\\:\\:load\\(\\) has parameter \\$namespacesMeta with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\Properties\\:\\:setMetaProperties\\(\\) has parameter \\$namespacesMeta with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\Properties\\:\\:setMetaProperties\\(\\) has parameter \\$propertyName with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\Properties\\:\\:setUserDefinedProperty\\(\\) has parameter \\$propertyValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/Properties.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Ods\\\\Properties\\:\\:setUserDefinedProperty\\(\\) has parameter \\$propertyValueAttributes with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Ods/Properties.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Security\\\\XmlScanner\\:\\:\\$callback has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Security\\\\XmlScanner\\:\\:\\$libxmlDisableEntityLoaderValue has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Security\\\\XmlScanner\\:\\:__construct\\(\\) has parameter \\$pattern with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Security\\\\XmlScanner\\:\\:getInstance\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Security\\\\XmlScanner\\:\\:threadSafeLibxmlDisableEntityLoaderAvailability\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Security\\\\XmlScanner\\:\\:toUtf8\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Security\\\\XmlScanner\\:\\:toUtf8\\(\\) has parameter \\$xml with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Parameter \\#2 \\$subject of function preg_match expects string, array\\\\|string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Security/XmlScanner.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\\\SpgrContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\\\SpgrContainer\\\\SpContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\\\BstoreContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\\\BstoreContainer\\\\BSE\\:\\:getDgContainer\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getNestingLevel\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getStartCoordinates\\(\\)\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getEndCoordinates\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getStartOffsetX\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getStartOffsetY\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getEndOffsetX\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getEndOffsetY\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#2 \\$startRow of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Xls\\:\\:getDistanceY\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#4 \\$endRow of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Xls\\:\\:getDistanceY\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#2 \\$row of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Xls\\:\\:sizeRow\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method object\\:\\:getOPT\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\\\SpgrContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\\\SpgrContainer\\\\SpContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\\\BstoreContainer\\|PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\\\BstoreContainer\\\\BSE\\:\\:getDggContainer\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^If condition is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#2 \\$row of method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\IReadFilter\\:\\:readCell\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Negated boolean expression is always false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$block of method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:makeKey\\(\\) expects int, float given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:\\$data \\(string\\) does not accept string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:\\$summaryInformation \\(string\\) does not accept string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:\\$documentSummaryInformation \\(string\\) does not accept string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, int\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$pValue of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:setShowSummaryBelow\\(\\) expects bool, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$pValue of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:setShowSummaryRight\\(\\) expects bool, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:includeCellRangeFiltered\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:includeCellRangeFiltered\\(\\) has parameter \\$cellRangeAddress with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$type of method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\DataValidation\\:\\:setType\\(\\) expects string, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$errorStyle of method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\DataValidation\\:\\:setErrorStyle\\(\\) expects string, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$operator of method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\DataValidation\\:\\:setOperator\\(\\) expects string, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 8
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Cannot access offset 1 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:parseRichText\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\:\\:parseRichText\\(\\) has parameter \\$is with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\Color\\\\BIFF5\\:\\:\\$map has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/Color/BIFF5.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\Color\\\\BIFF8\\:\\:\\$map has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/Color/BIFF8.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\Color\\\\BuiltIn\\:\\:\\$map has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/Color/BuiltIn.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\ErrorCode\\:\\:\\$map has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/ErrorCode.php
+
+ -
+ message: "#^Parameter \\#1 \\$input of function array_values expects array, array\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/MD5.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\MD5\\:\\:f\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/MD5.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\MD5\\:\\:g\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/MD5.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\MD5\\:\\:h\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/MD5.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\MD5\\:\\:i\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/MD5.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\MD5\\:\\:step\\(\\) has parameter \\$func with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/MD5.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\MD5\\:\\:rotate\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/MD5.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\RC4\\:\\:\\$s has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/RC4.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\RC4\\:\\:\\$i has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/RC4.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xls\\\\RC4\\:\\:\\$j has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xls/RC4.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToBoolean\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToBoolean\\(\\) has parameter \\$c with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToError\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToError\\(\\) has parameter \\$c with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToString\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToString\\(\\) has parameter \\$c with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToFormula\\(\\) has parameter \\$c with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToFormula\\(\\) has parameter \\$calculatedValue with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToFormula\\(\\) has parameter \\$castBaseType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToFormula\\(\\) has parameter \\$cellDataType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToFormula\\(\\) has parameter \\$r with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToFormula\\(\\) has parameter \\$sharedFormulas with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:castToFormula\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:getFromZipArchive\\(\\) should return string but returns string\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Negated boolean expression is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Argument of an invalid type array\\\\|false supplied for foreach, only iterables are supported\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$worksheetName of method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\:\\:getSheetByName\\(\\) expects string, array\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot access offset 0 on array\\\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method addChart\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot access property \\$r on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setName\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setSize\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setColor\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setBold\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setItalic\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setSuperscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setSubscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setUnderline\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Cannot call method setStrikethrough\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:getArrayItem\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:getArrayItem\\(\\) has parameter \\$array with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:getArrayItem\\(\\) has parameter \\$key with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:dirAdd\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:dirAdd\\(\\) has parameter \\$add with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:dirAdd\\(\\) has parameter \\$base with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:toCSSArray\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:toCSSArray\\(\\) has parameter \\$style with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$fontSizeInPoints of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Font\\:\\:fontSizeToPixels\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$haystack of function strpos expects string, int\\|string given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, int\\|string given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$sizeInInch of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Font\\:\\:inchSizeToPixels\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$sizeInCm of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Font\\:\\:centimeterSizeToPixels\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:stripWhiteSpaceFromStyleString\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:stripWhiteSpaceFromStyleString\\(\\) has parameter \\$string with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:boolean\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:boolean\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:readFormControlProperties\\(\\) has parameter \\$dir with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:readFormControlProperties\\(\\) has parameter \\$docSheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:readFormControlProperties\\(\\) has parameter \\$fileWorksheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:readPrinterSettings\\(\\) has parameter \\$dir with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:readPrinterSettings\\(\\) has parameter \\$docSheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\:\\:readPrinterSettings\\(\\) has parameter \\$fileWorksheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\AutoFilter\\:\\:\\$worksheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\AutoFilter\\:\\:\\$worksheetXml has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\AutoFilter\\:\\:readAutoFilter\\(\\) has parameter \\$autoFilterRange with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\AutoFilter\\:\\:readAutoFilter\\(\\) has parameter \\$xmlSheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php
+
+ -
+ message: "#^Parameter \\#1 \\$pOperator of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\AutoFilter\\\\Column\\\\Rule\\:\\:setRule\\(\\) expects string, null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\BaseParserClass\\:\\:boolean\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/BaseParserClass.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\BaseParserClass\\:\\:boolean\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/BaseParserClass.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:readColor\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:readColor\\(\\) has parameter \\$background with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:readColor\\(\\) has parameter \\$color with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#1 \\$position of class PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Legend constructor expects string, bool\\|float\\|int\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#3 \\$overlay of class PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Legend constructor expects bool, bool\\|float\\|int\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#6 \\$displayBlanksAs of class PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart constructor expects string, bool\\|float\\|int\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartTitle\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartLayoutDetails\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartLayoutDetails\\(\\) has parameter \\$chartDetail with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartLayoutDetails\\(\\) has parameter \\$namespacesChartMeta with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeries\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeries\\(\\) has parameter \\$chartDetail with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeries\\(\\) has parameter \\$namespacesChartMeta with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeries\\(\\) has parameter \\$plotType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#3 \\$plotOrder of class PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeries constructor expects array\\, array\\ given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#7 \\$plotDirection of class PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeries constructor expects string\\|null, bool\\|float\\|int\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValueSet\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValueSet\\(\\) has parameter \\$marker with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValueSet\\(\\) has parameter \\$namespacesChartMeta with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValueSet\\(\\) has parameter \\$seriesDetail with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#4 \\$pointCount of class PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues constructor expects int, null given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValues\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValues\\(\\) has parameter \\$dataType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValues\\(\\) has parameter \\$seriesValueSet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValuesMultiLevel\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValuesMultiLevel\\(\\) has parameter \\$dataType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:chartDataSeriesValuesMultiLevel\\(\\) has parameter \\$seriesValueSet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:parseRichText\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method getFont\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\Run\\|null\\.$#"
+ count: 12
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setName\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setSize\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setColor\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setBold\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setItalic\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setSuperscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setSubscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setUnderline\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method setStrikethrough\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:readChartAttributes\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Chart\\:\\:readChartAttributes\\(\\) has parameter \\$chartDetail with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Chart.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:\\$worksheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:\\$worksheetXml has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:isFilteredColumn\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:isFilteredColumn\\(\\) has parameter \\$columnCoordinate with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:readColumnAttributes\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:readColumnAttributes\\(\\) has parameter \\$readDataOnly with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:readColumnRangeAttributes\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:readColumnRangeAttributes\\(\\) has parameter \\$readDataOnly with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:isFilteredRow\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:isFilteredRow\\(\\) has parameter \\$rowCoordinate with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:readRowAttributes\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ColumnAndRowAttributes\\:\\:readRowAttributes\\(\\) has parameter \\$readDataOnly with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:\\$worksheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:\\$worksheetXml has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:\\$dxfs has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readConditionalStyles\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readConditionalStyles\\(\\) has parameter \\$xmlSheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:setConditionalStyles\\(\\) has parameter \\$xmlExtLst with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readStyleRules\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readStyleRules\\(\\) has parameter \\$cfRules with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readStyleRules\\(\\) has parameter \\$extLst with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readDataBarOfConditionalRule\\(\\) has parameter \\$cfRule with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readDataBarOfConditionalRule\\(\\) has parameter \\$conditionalFormattingRuleExtensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readDataBarExtLstOfConditionalRule\\(\\) has parameter \\$cfRule with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\ConditionalStyles\\:\\:readDataBarExtLstOfConditionalRule\\(\\) has parameter \\$conditionalFormattingRuleExtensions with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\DataValidations\\:\\:\\$worksheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/DataValidations.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\DataValidations\\:\\:\\$worksheetXml has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/DataValidations.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Hyperlinks\\:\\:\\$worksheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Hyperlinks.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Hyperlinks\\:\\:\\$hyperlinks has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Hyperlinks.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\PageSetup\\:\\:\\$worksheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\PageSetup\\:\\:\\$worksheetXml has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\PageSetup\\:\\:load\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\PageSetup\\:\\:pageSetup\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\SheetViewOptions\\:\\:\\$worksheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\SheetViewOptions\\:\\:\\$worksheetXml has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:\\$styles has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:\\$cellStyles has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:\\$styleXml has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:setStyleBaseData\\(\\) has parameter \\$cellStyles with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:setStyleBaseData\\(\\) has parameter \\$styles with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Static property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:\\$theme \\(PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Theme\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Theme\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:readStyle\\(\\) has parameter \\$style with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Parameter \\#2 \\$alignmentXml of static method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:readAlignmentStyle\\(\\) expects SimpleXMLElement, object given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:readProtectionLocked\\(\\) has parameter \\$style with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:readProtectionHidden\\(\\) has parameter \\$style with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:readColor\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:readColor\\(\\) has parameter \\$background with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:readColor\\(\\) has parameter \\$color with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Parameter \\#1 \\$hexColourValue of static method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Color\\:\\:changeBrightness\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:dxfs\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:dxfs\\(\\) has parameter \\$readDataOnly with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:styles\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:getArrayItem\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:getArrayItem\\(\\) has parameter \\$array with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xlsx\\\\Styles\\:\\:getArrayItem\\(\\) has parameter \\$key with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Reader\\\\Xml\\:\\:\\$fileContents has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xml.php
+
+ -
+ message: "#^Parameter \\#1 \\$haystack of function strpos expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xml.php
+
+ -
+ message: "#^Parameter \\#2 \\$subject of function preg_match expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xml.php
+
+ -
+ message: "#^Parameter \\#1 \\$textValue of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:convertEncoding\\(\\) expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Reader/Xml.php
+
+ -
+ message: "#^Parameter \\#2 \\$cmp_function of function uksort expects callable\\(\\(int\\|string\\), \\(int\\|string\\)\\)\\: int, array\\('self', 'cellReverseSort'\\) given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/ReferenceHelper.php
+
+ -
+ message: "#^Parameter \\#2 \\$cmp_function of function uksort expects callable\\(\\(int\\|string\\), \\(int\\|string\\)\\)\\: int, array\\('self', 'cellSort'\\) given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/ReferenceHelper.php
+
+ -
+ message: "#^Parameter \\#1 \\$index of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\RowDimension\\:\\:setRowIndex\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/ReferenceHelper.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/ReferenceHelper.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\Run\\:\\:\\$font \\(PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/RichText/Run.php
+
+ -
+ message: "#^Result of && is always false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Settings.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between int and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Settings.php
+
+ -
+ message: "#^Negated boolean expression is always false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Settings.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Settings\\:\\:getHttpClient\\(\\) should return Psr\\\\Http\\\\Client\\\\ClientInterface but returns Psr\\\\Http\\\\Client\\\\ClientInterface\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Settings.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Settings\\:\\:getRequestFactory\\(\\) should return Psr\\\\Http\\\\Message\\\\RequestFactoryInterface but returns Psr\\\\Http\\\\Message\\\\RequestFactoryInterface\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Settings.php
+
+ -
+ message: "#^Parameter \\#1 \\$unixTimestamp of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Date\\:\\:timestampToExcel\\(\\) expects int, float\\|int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Date.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function substr expects string, int given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Shared/Date.php
+
+ -
+ message: "#^Parameter \\#1 \\$excelFormatCode of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Date\\:\\:isDateTimeFormatCode\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Date.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Date\\:\\:\\$possibleDateFormatCharacters has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Date.php
+
+ -
+ message: "#^Parameter \\#1 \\$fp of function fread expects resource, resource\\|false given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#1 \\$fp of function feof expects resource, resource\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#2 \\$data of function unpack expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Cannot access offset 1 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#1 \\$x_size of function imagecreatetruecolor expects int, float\\|int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#2 \\$y_size of function imagecreatetruecolor expects int, float\\|int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagecolorallocate expects resource, resource\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#2 \\$red of function imagecolorallocate expects int, float\\|int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#3 \\$green of function imagecolorallocate expects int, float\\|int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#4 \\$blue of function imagecolorallocate expects int, float\\|int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagesetpixel expects resource, resource\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#3 \\$y of function imagesetpixel expects int, float\\|int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Parameter \\#4 \\$col of function imagesetpixel expects int, int\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Drawing\\:\\:imagecreatefrombmp\\(\\) should return GdImage\\|resource but returns resource\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Drawing.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:\\$spgrContainer has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:getDgId\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:setDgId\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:getLastSpId\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:setLastSpId\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:getSpgrContainer\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:setSpgrContainer\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\:\\:setSpgrContainer\\(\\) has parameter \\$spgrContainer with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DgContainer\\\\SpgrContainer\\:\\:getChildren\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Font\\:\\:\\$autoSizeMethods has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Parameter \\#2 \\$defaultFont of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Drawing\\:\\:pixelsToCellDimension\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Parameter \\#1 \\$size of function imagettfbbox expects float, float\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Cannot access offset 0 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Cannot access offset 2 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Cannot access offset 4 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Cannot access offset 6 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Font.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\EigenvalueDecomposition\\:\\:\\$e has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/EigenvalueDecomposition.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\EigenvalueDecomposition\\:\\:\\$cdivi has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/EigenvalueDecomposition.php
+
+ -
+ message: "#^Else branch is unreachable because previous condition is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/LUDecomposition.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\LUDecomposition\\:\\:getDoublePivot\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/LUDecomposition.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:__construct\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 19
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:getMatrix\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:plus\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:plusEquals\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Call to function is_string\\(\\) with float\\|int will always evaluate to false\\.$#"
+ count: 5
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Result of && is always false\\.$#"
+ count: 10
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:minus\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:minusEquals\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:arrayTimes\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:arrayTimesEquals\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:arrayRightDivide\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Parameter \\#3 \\$c of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:set\\(\\) expects float\\|int\\|null, string given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:arrayRightDivideEquals\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:arrayLeftDivide\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:arrayLeftDivideEquals\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:times\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:power\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\JAMA\\\\Matrix\\:\\:concat\\(\\) has parameter \\$args with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Parameter \\#1 \\$str of function trim expects string, float\\|int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/JAMA/Matrix.php
+
+ -
+ message: "#^Left side of && is always true\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Shared/JAMA/SingularValueDecomposition.php
+
+ -
+ message: "#^If condition is always true\\.$#"
+ count: 7
+ path: src/PhpSpreadsheet/Shared/JAMA/SingularValueDecomposition.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\:\\:getStream\\(\\) should return resource but returns resource\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#2 \\$data of function unpack expects string, string\\|false given\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#1 \\$No of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS constructor expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#2 \\$name of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS constructor expects string, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#3 \\$type of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS constructor expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#4 \\$prev of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS constructor expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#5 \\$next of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS constructor expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#6 \\$dir of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS constructor expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#9 \\$data of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS constructor expects string, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#1 \\$oleTimestamp of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\:\\:OLE2LocalDate\\(\\) expects string, string\\|false given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\:\\:getData\\(\\) should return string but returns string\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Cannot access offset 3 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Cannot access offset 4 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Cannot access offset 1 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Cannot access offset 2 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE.php
+
+ -
+ message: "#^Parameter \\#1 \\$var of function count expects array\\|Countable, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/ChainedBlockStream.php
+
+ -
+ message: "#^Parameter \\#3 \\$length of function array_slice expects int\\|null, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS.php
+
+ -
+ message: "#^Parameter \\#2 \\$offset of function array_slice expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS.php
+
+ -
+ message: "#^Parameter \\#1 \\$No of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/File.php
+
+ -
+ message: "#^Parameter \\#4 \\$prev of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/File.php
+
+ -
+ message: "#^Parameter \\#5 \\$next of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/File.php
+
+ -
+ message: "#^Parameter \\#6 \\$dir of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/File.php
+
+ -
+ message: "#^Parameter \\#1 \\$No of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#4 \\$prev of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#5 \\$next of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#6 \\$dir of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#9 \\$data of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\:\\:__construct\\(\\) expects string, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#1 \\$iSBDcnt of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\\\Root\\:\\:saveHeader\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#2 \\$iBBcnt of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\\\Root\\:\\:saveHeader\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#3 \\$iPPScnt of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\\\Root\\:\\:saveHeader\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#1 \\$iStBlk of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\\\Root\\:\\:saveBigData\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#1 \\$iSbdSize of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\\\Root\\:\\:saveBbd\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#2 \\$iBsize of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\\\Root\\:\\:saveBbd\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Parameter \\#3 \\$iPpsCnt of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLE\\\\PPS\\\\Root\\:\\:saveBbd\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLE/PPS/Root.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLERead\\:\\:\\$data has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLERead.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLERead\\:\\:\\$wrkbook has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLERead.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLERead\\:\\:\\$summaryInformation has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLERead.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLERead\\:\\:\\$documentSummaryInformation has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLERead.php
+
+ -
+ message: "#^Parameter \\#1 \\$data of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\OLERead\\:\\:getInt4d\\(\\) expects string, string\\|false given\\.$#"
+ count: 8
+ path: src/PhpSpreadsheet/Shared/OLERead.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|false given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Shared/OLERead.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between int and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/OLERead.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:sanitizeUTF8\\(\\) should return string but returns string\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:formatNumber\\(\\) should return string but returns array\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:countCharacters\\(\\) should return int but returns int\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:mbIsUpper\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:mbIsUpper\\(\\) has parameter \\$character with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:mbStrSplit\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:mbStrSplit\\(\\) has parameter \\$string with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function strlen expects string, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/StringHelper.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$goodnessOfFit has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$stdevOfResiduals has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$covariance has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$correlation has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$SSRegression has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$SSResiduals has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$DFResiduals has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$f has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$slope has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$slopeSE has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$intersect has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$intersectSE has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$xOffset has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:\\$yOffset has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:getError\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:getBestFitType\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$const with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$meanX with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$meanY with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$sumX with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$sumX2 with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$sumXY with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$sumY with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:calculateGoodnessOfFit\\(\\) has parameter \\$sumY2 with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\BestFit\\:\\:sumSquares\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/BestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\PolynomialBestFit\\:\\:getCoefficients\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\PolynomialBestFit\\:\\:getCoefficients\\(\\) has parameter \\$dp with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php
+
+ -
+ message: "#^Parameter \\#2 \\.\\.\\.\\$args of function array_merge expects array, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\Trend\\:\\:calculate\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/Trend.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\Trend\\:\\:calculate\\(\\) has parameter \\$const with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/Trend.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\Trend\\:\\:calculate\\(\\) has parameter \\$trendType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/Trend.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\Trend\\:\\:calculate\\(\\) has parameter \\$xValues with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/Trend.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\Trend\\:\\:calculate\\(\\) has parameter \\$yValues with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/Trend/Trend.php
+
+ -
+ message: "#^Parameter \\#1 \\$order of class PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Trend\\\\PolynomialBestFit constructor expects int, string given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Shared/Trend/Trend.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\XMLWriter\\:\\:\\$debugEnabled has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/XMLWriter.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\XMLWriter\\:\\:\\$tempFileName \\(string\\) does not accept string\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/XMLWriter.php
+
+ -
+ message: "#^Parameter \\#1 \\$uri of method XMLWriter\\:\\:openUri\\(\\) expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/XMLWriter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\XMLWriter\\:\\:getData\\(\\) should return string but returns string\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Shared/XMLWriter.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\:\\:\\$workbookViewVisibilityValues has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Call to function is_array\\(\\) with string will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$worksheet of method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\:\\:getIndex\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet, PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Cannot call method getTitle\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between string and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Comparison operation \"\\<\\=\" between int\\ and 1000 is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Result of \\|\\| is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Spreadsheet.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Alignment.php
+
+ -
+ message: "#^Parameter \\#1 \\$parent of method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Supervisor\\:\\:bindParent\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style, \\$this\\(PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Border\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Border.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Border.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getStyleArray\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Border.php
+
+ -
+ message: "#^Parameter \\#1 \\$parent of method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Supervisor\\:\\:bindParent\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style, \\$this\\(PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Borders\\) given\\.$#"
+ count: 10
+ path: src/PhpSpreadsheet/Style/Borders.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Borders.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Color.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Border\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill\\:\\:getEndColor\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Color.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Border\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill\\:\\:getStartColor\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Color.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Border\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill\\:\\:getColor\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Color.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getStyleArray\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Color.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Color\\:\\:getColourComponent\\(\\) should return int\\|string but returns float\\|int\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Color.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Conditional\\:\\:\\$condition \\(array\\\\) does not accept array\\\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Conditional.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Conditional\\:\\:\\$style \\(PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Conditional.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setShowValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setMinimumConditionalFormatValueObject\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setMaximumConditionalFormatValueObject\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBar\\:\\:setConditionalFormattingRuleExt\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:getXmlAttributes\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:getXmlElements\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:setMaximumConditionalFormatValueObject\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalDataBarExtension\\:\\:setMinimumConditionalFormatValueObject\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:\\$type has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:\\$value has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:\\$cellFormula has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:__construct\\(\\) has parameter \\$type with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:__construct\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:setType\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:setValue\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormatValueObject\\:\\:setCellFormula\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:\\$id has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:__construct\\(\\) has parameter \\$id with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:generateUuid\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:parseExtLstXml\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:parseExtLstXml\\(\\) has parameter \\$extLstXml with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Cannot access property \\$minLength on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Cannot access property \\$maxLength on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Cannot access property \\$border on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Cannot access property \\$gradient on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Cannot access property \\$direction on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Cannot access property \\$negativeBarBorderColorSameAsPositive on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Cannot access property \\$axisPosition on SimpleXMLElement\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\ConditionalFormatting\\\\ConditionalFormattingRuleExtension\\:\\:parseExtDataBarElementChildrenFromXml\\(\\) has parameter \\$ns with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Offset 'rgb' does not exist on SimpleXMLElement\\|null\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Offset 'theme' does not exist on SimpleXMLElement\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Offset 'tint' does not exist on SimpleXMLElement\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php
+
+ -
+ message: "#^Parameter \\#1 \\$parent of method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Supervisor\\:\\:bindParent\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style, \\$this\\(PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill\\) given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Style/Fill.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Fill.php
+
+ -
+ message: "#^Parameter \\#1 \\$parent of method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Supervisor\\:\\:bindParent\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style, \\$this\\(PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Font.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Font.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\:\\:\\$builtInFormatCode \\(int\\|false\\) does not accept bool\\|int\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\DateFormatter\\:\\:format\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Parameter \\#2 \\$callback of function preg_replace_callback expects callable\\(\\)\\: mixed, array\\('self', 'setLowercaseCallback'\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function preg_replace_callback expects array\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Parameter \\#2 \\$str of function explode expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Parameter \\#2 \\$replace of function str_replace expects array\\|string, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Parameter \\#2 \\$callback of function preg_replace_callback expects callable\\(\\)\\: mixed, array\\('self', 'escapeQuotesCallback'\\) given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Parameter \\#1 \\$format of method DateTime\\:\\:format\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\DateFormatter\\:\\:setLowercaseCallback\\(\\) has parameter \\$matches with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\DateFormatter\\:\\:escapeQuotesCallback\\(\\) has parameter \\$matches with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormatCompare\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormatCompare\\(\\) has parameter \\$cond with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormatCompare\\(\\) has parameter \\$dfcond with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormatCompare\\(\\) has parameter \\$dfval with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormatCompare\\(\\) has parameter \\$val with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormatCompare\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormat\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormat\\(\\) has parameter \\$sections with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:splitFormat\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\Formatter\\:\\:toFormattedString\\(\\) should return string but returns float\\|int\\|string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Parameter \\#2 \\$subject of function preg_split expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/Formatter.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\\\PercentageFormatter\\:\\:format\\(\\) has parameter \\$value with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php
+
+ -
+ message: "#^Parameter \\#1 \\$format of function sprintf expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getSharedComponent\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Protection.php
+
+ -
+ message: "#^Call to an undefined method PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getCellXfByIndex\\(\\)\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Style.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\:\\:getParent\\(\\) should return PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet but returns PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Style\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Style/Style.php
+
+ -
+ message: "#^Cannot call method getCell\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/BaseDrawing.php
+
+ -
+ message: "#^Cannot call method getDrawingCollection\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/BaseDrawing.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\BaseDrawing\\:\\:\\$shadow \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Drawing\\\\Shadow\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Drawing\\\\Shadow\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/BaseDrawing.php
+
+ -
+ message: "#^Cannot call method getHashCode\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/BaseDrawing.php
+
+ -
+ message: "#^Class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\CellIterator implements generic interface Iterator but does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/CellIterator.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\CellIterator\\:\\:adjustForExistingOnlyRange\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/CellIterator.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Column\\:\\:\\$parent \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Column.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\CellIterator\\:\\:\\$worksheet \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/ColumnCellIterator.php
+
+ -
+ message: "#^Class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\ColumnIterator implements generic interface Iterator but does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/ColumnIterator.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Drawing\\\\Shadow\\:\\:\\$color \\(PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Color\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Color\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Drawing/Shadow.php
+
+ -
+ message: "#^Class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Iterator implements generic interface Iterator but does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Iterator.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\PageSetup\\:\\:\\$pageOrder has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/PageSetup.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between int\\ and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/PageSetup.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\PageSetup\\:\\:getPrintArea\\(\\) should return string but returns string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/PageSetup.php
+
+ -
+ message: "#^Parameter \\#2 \\$str of function explode expects string, string\\|null given\\.$#"
+ count: 5
+ path: src/PhpSpreadsheet/Worksheet/PageSetup.php
+
+ -
+ message: "#^Parameter \\#1 \\$value of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\PageSetup\\:\\:setFirstPageNumber\\(\\) expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/PageSetup.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Row\\:\\:\\$worksheet \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Row.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\CellIterator\\:\\:\\$worksheet \\(PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/RowCellIterator.php
+
+ -
+ message: "#^Class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\RowIterator implements generic interface Iterator but does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/RowIterator.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\SheetView\\:\\:\\$sheetViewTypes has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/SheetView.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between int\\ and null will always evaluate to false\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Worksheet/SheetView.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between string and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/SheetView.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:\\$drawingCollection with generic class ArrayObject does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:\\$chartCollection with generic class ArrayObject does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:\\$parent \\(PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Spreadsheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$pIndex of class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\RowDimension constructor expects int, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$pIndex of class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\ColumnDimension constructor expects string, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$pRange of class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\AutoFilter constructor expects string, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:getDrawingCollection\\(\\) return type with generic class ArrayObject does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:getChartCollection\\(\\) return type with generic class ArrayObject does not specify its types\\: TKey, TValue$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$input of function array_splice expects array, ArrayObject&iterable\\ given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between string and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$range of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:rangeDimension\\(\\) expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$format of static method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\:\\:toFormattedString\\(\\) expects string, string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#3 \\$rotation of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Font\\:\\:calculateColumnWidth\\(\\) expects int, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^If condition is always true\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Left side of && is always true\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method renameCalculationCacheForWorksheet\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Calculation\\\\Calculation\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$start of function substr expects int, int\\<0, max\\>\\|false given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Result of && is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$pRange of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\AutoFilter\\:\\:setRange\\(\\) expects string, null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$row of method PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Cells\\:\\:removeRow\\(\\) expects string, int given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method getValue\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method getCalculatedValue\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method getXfIndex\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Right side of && is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method getHashCode\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method getWorksheet\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\DefinedName\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method getValue\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\DefinedName\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Cannot call method rangeToArray\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Worksheet/Worksheet.php
+
+ -
+ message: "#^Call to function array_key_exists\\(\\) with int and array\\('none' \\=\\> 'none', 'dashDot' \\=\\> '1px dashed', 'dashDotDot' \\=\\> '1px dotted', 'dashed' \\=\\> '1px dashed', 'dotted' \\=\\> '1px dotted', 'double' \\=\\> '3px double', 'hair' \\=\\> '1px solid', 'medium' \\=\\> '2px solid', \\.\\.\\.\\) will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:getSheetIndex\\(\\) should return int but returns int\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateMeta\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateMeta\\(\\) has parameter \\$desc with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateMeta\\(\\) has parameter \\$val with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetPrep\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetStarts\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetStarts\\(\\) has parameter \\$rowMin with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetStarts\\(\\) has parameter \\$sheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetTags\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetTags\\(\\) has parameter \\$row with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetTags\\(\\) has parameter \\$tbodyStart with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetTags\\(\\) has parameter \\$theadEnd with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateSheetTags\\(\\) has parameter \\$theadStart with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function htmlspecialchars expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Cannot access offset 'mime' on array\\|false\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagepng expects resource, GdImage\\|resource given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$str of function base64_encode expects string, string\\|false given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Ternary operator condition is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#3 \\$use_include_path of function fopen expects bool, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#2 \\$length of function fread expects int, int\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Cannot access offset 0 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Cannot access offset 1 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$vAlign of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:mapVAlign\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$hAlign of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:mapHAlign\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$borderStyle of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:mapBorderStyle\\(\\) expects int, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateHTMLFooter\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateTableTagInline\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateTableTagInline\\(\\) has parameter \\$id with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateTableTag\\(\\) has parameter \\$html with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateTableTag\\(\\) has parameter \\$id with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateTableTag\\(\\) has parameter \\$sheetIndex with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateTableFooter\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellCss\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellCss\\(\\) has parameter \\$cellAddress with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellCss\\(\\) has parameter \\$colNum with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellCss\\(\\) has parameter \\$pRow with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellDataValueRich\\(\\) has parameter \\$cell with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellDataValueRich\\(\\) has parameter \\$cellData with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Parameter \\#1 \\$pStyle of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:createCSSStyleFont\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Cannot call method getSuperscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Cannot call method getSubscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellDataValue\\(\\) has parameter \\$cell with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellDataValue\\(\\) has parameter \\$cellData with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellData\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellData\\(\\) has parameter \\$cell with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellData\\(\\) has parameter \\$cellType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowCellData\\(\\) has parameter \\$cssClass with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowIncludeCharts\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowIncludeCharts\\(\\) has parameter \\$coordinate with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowSpans\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowSpans\\(\\) has parameter \\$colSpan with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowSpans\\(\\) has parameter \\$html with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowSpans\\(\\) has parameter \\$rowSpan with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$cellData with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$cellType with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$colNum with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$colSpan with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$coordinate with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$cssClass with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$html with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$pRow with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$rowSpan with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:generateRowWriteCell\\(\\) has parameter \\$sheetIndex with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:calculateSpansOmitRows\\(\\) has parameter \\$candidateSpannedRow with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:calculateSpansOmitRows\\(\\) has parameter \\$sheet with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Html\\:\\:calculateSpansOmitRows\\(\\) has parameter \\$sheetIndex with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Html.php
+
+ -
+ message: "#^Negated boolean expression is always false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Ods.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Ods\\\\Cell\\\\Style\\:\\:\\$writer has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Ods/Cell/Style.php
+
+ -
+ message: "#^If condition is always true\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Ods/Cell/Style.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Ods\\\\Content\\:\\:\\$formulaConvertor has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Ods/Content.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Writer/Ods/Content.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<2, max\\> given\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Writer/Ods/Content.php
+
+ -
+ message: "#^Parameter \\#1 \\$range of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:splitRange\\(\\) expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Ods/Content.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Ods\\\\Formula\\:\\:\\$definedNames has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Ods/Formula.php
+
+ -
+ message: "#^Parameter \\#1 \\$content of method XMLWriter\\:\\:text\\(\\) expects string, int given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Ods/Settings.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between int and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Pdf/Dompdf.php
+
+ -
+ message: "#^Parameter \\#2 \\$str of function fwrite expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Pdf/Dompdf.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between null and int will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Pdf/Mpdf.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between int and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php
+
+ -
+ message: "#^Cannot call method getHashCode\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$font of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Workbook\\:\\:addFont\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Offset 'startCoordinates' does not exist on array\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Offset 'startOffsetX' does not exist on array\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Offset 'startOffsetY' does not exist on array\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Offset 'endCoordinates' does not exist on array\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Offset 'endOffsetX' does not exist on array\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Offset 'endOffsetY' does not exist on array\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$data of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\\\BstoreContainer\\\\BSE\\\\Blip\\:\\:setData\\(\\) expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagepng expects resource, resource\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagepng expects resource, GdImage\\|resource given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Parameter \\#1 \\$blipType of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\\\DggContainer\\\\BstoreContainer\\\\BSE\\:\\:setBlipType\\(\\) expects int, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\BIFFwriter\\:\\:writeEof\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/BIFFwriter.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Escher\\:\\:\\$object has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Escher.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Escher\\:\\:\\$data has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Escher.php
+
+ -
+ message: "#^If condition is always true\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Writer/Xls/Escher.php
+
+ -
+ message: "#^Elseif condition is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Escher.php
+
+ -
+ message: "#^Parameter \\#1 \\$fontName of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Font\\:\\:getCharsetFromFontName\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Font.php
+
+ -
+ message: "#^If condition is always false\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xls/Font.php
+
+ -
+ message: "#^Parameter \\#1 \\$bold of static method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Font\\:\\:mapBold\\(\\) expects bool, bool\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Font.php
+
+ -
+ message: "#^Parameter \\#1 \\$underline of static method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Font\\:\\:mapUnderline\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Font.php
+
+ -
+ message: "#^Parameter \\#1 \\$textValue of static method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\StringHelper\\:\\:UTF8toBIFF8UnicodeShort\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Font.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Parser\\:\\:\\$spreadsheet has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 5
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Parser\\:\\:advance\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Offset 'left' does not exist on \\(array&nonEmpty\\)\\|string\\.$#"
+ count: 6
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Offset 'right' does not exist on \\(array&nonEmpty\\)\\|string\\.$#"
+ count: 5
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Offset 'value' does not exist on \\(array&nonEmpty\\)\\|string\\.$#"
+ count: 7
+ path: src/PhpSpreadsheet/Writer/Xls/Parser.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Workbook\\:\\:\\$colors has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Cannot call method getTitle\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Workbook\\:\\:writeAllDefinedNamesBiff8\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Workbook\\:\\:writeSupbookInternal\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Workbook\\:\\:writeExternalsheetBiff8\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Cannot access offset 'encoding' on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Workbook\\:\\:writeMsoDrawingGroup\\(\\) has no return typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Workbook\\:\\:\\$escher \\(PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Workbook.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Worksheet\\:\\:\\$colors has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Cannot call method getHashCode\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#4 \\$isError of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Worksheet\\:\\:writeBoolErr\\(\\) expects bool, int given\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$pieces of function implode expects array, array\\\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$subject of function preg_match expects string, string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$subject of function preg_match_all expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$coordinates of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:indexesFromString\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Worksheet\\:\\:\\$activePane \\(int\\) does not accept int\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#5 \\$width of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Worksheet\\:\\:positionImage\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#6 \\$height of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Worksheet\\:\\:positionImage\\(\\) expects int, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagesx expects resource, GdImage\\|resource given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagesy expects resource, GdImage\\|resource given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagecolorat expects resource, GdImage\\|resource given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagecolorsforindex expects resource, GdImage\\|resource given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$col of function imagecolorsforindex expects int, int\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$ascii of function chr expects int, float given\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$length of function fread expects int, int\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function strlen expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$data of function unpack expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Cannot access offset 'ident' on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Cannot access offset 'sa' on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Cannot access offset 1 on array\\|false\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Cannot access offset 2 on array\\|false\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Cannot access offset 'comp' on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Worksheet\\:\\:\\$escher \\(PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\) does not accept PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\Escher\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Worksheet.php
+
+ -
+ message: "#^Parameter \\#1 \\$textRotation of static method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xls\\\\Xf\\:\\:mapTextRotation\\(\\) expects int, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xls/Xf.php
+
+ -
+ message: "#^Possibly invalid array key type array\\|string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$path of function dirname expects string, array\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx.php
+
+ -
+ message: "#^Argument of an invalid type array\\|null supplied for foreach, only iterables are supported\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$path of function basename expects string, array\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx.php
+
+ -
+ message: "#^Parameter \\#1 \\$function of function call_user_func expects callable\\(\\)\\: mixed, string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\:\\:\\$pathNames has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx.php
+
+ -
+ message: "#^Property PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:\\$calculateCellValues has no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 45
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\PlotArea and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$yAxisLabel of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeValueAxis\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#4 \\$id1 of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeValueAxis\\(\\) expects string, int\\|string given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#5 \\$id2 of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeValueAxis\\(\\) expects string, int\\|string given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#7 \\$xAxis of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeValueAxis\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#8 \\$majorGridlines of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeValueAxis\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#9 \\$minorGridlines of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeValueAxis\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\GridLines\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$xAxisLabel of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeCategoryAxis\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Title\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#3 \\$id1 of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeCategoryAxis\\(\\) expects string, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#4 \\$id2 of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeCategoryAxis\\(\\) expects string, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#6 \\$yAxis of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeCategoryAxis\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Axis\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Part \\$xAxis\\-\\>getShadowProperty\\('effect'\\) \\(array\\|int\\|string\\|null\\) of encapsed string cannot be cast to string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, array\\|int\\|string given\\.$#"
+ count: 8
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Part \\$xAxis\\-\\>getShadowProperty\\(\\['color', 'type'\\]\\) \\(array\\|int\\|string\\|null\\) of encapsed string cannot be cast to string\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, array\\|int\\|string\\|null given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Else branch is unreachable because previous condition is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:getChartType\\(\\) never returns string so it can be removed from the return typehint\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeries and null will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method getFillColor\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Cannot call method getDataValues\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#1 \\$plotSeriesValues of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Chart\\:\\:writeBubbles\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Strict comparison using \\=\\=\\= between PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\DataSeriesValues and null will always evaluate to false\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#1 \\$rawTextData of method PhpOffice\\\\PhpSpreadsheet\\\\Shared\\\\XMLWriter\\:\\:writeRawData\\(\\) expects array\\\\|string, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, float\\|int given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, float given\\.$#"
+ count: 6
+ path: src/PhpSpreadsheet/Writer/Xlsx/Chart.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function substr expects string, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Comments.php
+
+ -
+ message: "#^Parameter \\#2 \\$content of method XMLWriter\\:\\:writeElement\\(\\) expects string\\|null, int given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Comments.php
+
+ -
+ message: "#^Parameter \\#1 \\$arr1 of function array_diff expects array, array\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php
+
+ -
+ message: "#^Cannot access offset 2 on array\\|false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php
+
+ -
+ message: "#^Parameter \\#2 \\$content of method XMLWriter\\:\\:writeElement\\(\\) expects string\\|null, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/DocProps.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/DocProps.php
+
+ -
+ message: "#^Parameter \\#1 \\$index of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\:\\:getChartByIndex\\(\\) expects string, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Drawing.php
+
+ -
+ message: "#^Parameter \\#2 \\$pChart of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Drawing\\:\\:writeChart\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart, PhpOffice\\\\PhpSpreadsheet\\\\Chart\\\\Chart\\|false given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Drawing.php
+
+ -
+ message: "#^Parameter \\#2 \\$content of method XMLWriter\\:\\:writeElement\\(\\) expects string\\|null, int given\\.$#"
+ count: 12
+ path: src/PhpSpreadsheet/Writer/Xlsx/Drawing.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 8
+ path: src/PhpSpreadsheet/Writer/Xlsx/Drawing.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<0, max\\> given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Drawing.php
+
+ -
+ message: "#^Parameter \\#4 \\$pTarget of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeRelationship\\(\\) expects string, array\\|string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
+
+ -
+ message: "#^Parameter \\#2 \\$pId of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeRelationship\\(\\) expects int, string given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeUnparsedRelationship\\(\\) has parameter \\$relationship with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeUnparsedRelationship\\(\\) has parameter \\$type with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeDrawingHyperLink\\(\\) has parameter \\$i with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Rels\\:\\:writeDrawingHyperLink\\(\\) has parameter \\$objWriter with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Rels.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<0, max\\> given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Instanceof between string and PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\RichText will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Instanceof between \\*NEVER\\* and PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\RichText will always evaluate to false\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getName\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, string\\|null given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getBold\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getItalic\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getSubscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getSuperscript\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getStrikethrough\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getColor\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getSize\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, float\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Cannot call method getUnderline\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Parameter \\#1 \\$text of method PhpOffice\\\\PhpSpreadsheet\\\\RichText\\\\RichText\\:\\:createTextRun\\(\\) expects string, string\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/StringTable.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 22
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$pNumberFormat of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeNumFmt\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\NumberFormat\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$pFont of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeFont\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Font\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$pFill of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeFill\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Fill\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$pBorders of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Style\\:\\:writeBorder\\(\\) expects PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Borders, PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Borders\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<0, max\\> given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Cannot call method getStyle\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Conditional\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, string\\|null given\\.$#"
+ count: 4
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, float given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Comparison operation \"\\<\" between int\\ and 0 is always true\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<1, max\\> given\\.$#"
+ count: 2
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Result of \\|\\| is always true\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Style.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 7
+ path: src/PhpSpreadsheet/Writer/Xlsx/Workbook.php
+
+ -
+ message: "#^Parameter \\#3 \\$pStringTable of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Worksheet\\:\\:writeSheetData\\(\\) expects array\\, array\\\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int given\\.$#"
+ count: 19
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<1, max\\> given\\.$#"
+ count: 7
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\<0, max\\> given\\.$#"
+ count: 3
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method XMLWriter\\:\\:writeAttribute\\(\\) expects string, int\\|null given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Worksheet\\:\\:writeAttributeIf\\(\\) has parameter \\$condition with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Worksheet\\:\\:writeElementIf\\(\\) has parameter \\$condition with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Parameter \\#3 \\$namespace of method XMLWriter\\:\\:startElementNs\\(\\) expects string, null given\\.$#"
+ count: 8
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^If condition is always true\\.$#"
+ count: 6
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Worksheet\\:\\:writeDataBarElements\\(\\) has parameter \\$dataBar with no typehint specified\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Parameter \\#4 \\$val of static method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Worksheet\\:\\:writeAttributeIf\\(\\) expects string, int given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Parameter \\#2 \\$content of method XMLWriter\\:\\:writeElement\\(\\) expects string\\|null, int\\|string given\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Xlfn\\:\\:addXlfn\\(\\) should return string but returns string\\|null\\.$#"
+ count: 1
+ path: src/PhpSpreadsheet/Writer/Xlsx/Xlfn.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Calculation/Engine/RangeTest.php
+
+ -
+ message: "#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertSame\\(\\) with arguments PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell, null and 'should get exact…' will always evaluate to false\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Collection/CellsTest.php
+
+ -
+ message: "#^Cannot call method getParent\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Collection/CellsTest.php
+
+ -
+ message: "#^Cannot call method getCoordinate\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Cell\\|null\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Collection/CellsTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$row of method PhpOffice\\\\PhpSpreadsheet\\\\Collection\\\\Cells\\:\\:getHighestColumn\\(\\) expects string\\|null, int given\\.$#"
+ count: 3
+ path: tests/PhpSpreadsheetTests/Collection/CellsTest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheetTests\\\\Functional\\\\ColumnWidthTest\\:\\:testReadColumnWidth\\(\\) has parameter \\$format with no typehint specified\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/ColumnWidthTest.php
+
+ -
+ message: "#^Method PhpOffice\\\\PhpSpreadsheetTests\\\\Functional\\\\CommentsTest\\:\\:testComments\\(\\) has parameter \\$format with no typehint specified\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/CommentsTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$condition of method PhpOffice\\\\PhpSpreadsheet\\\\Style\\\\Conditional\\:\\:addCondition\\(\\) expects string, float given\\.$#"
+ count: 2
+ path: tests/PhpSpreadsheetTests/Functional/ConditionalStopIfTrueTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagecolorallocate expects resource, resource\\|false given\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/DrawingImageHyperlinkTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$im of function imagestring expects resource, resource\\|false given\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/DrawingImageHyperlinkTest.php
+
+ -
+ message: "#^Parameter \\#6 \\$col of function imagestring expects int, int\\|false given\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/DrawingImageHyperlinkTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$value of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\MemoryDrawing\\:\\:setImageResource\\(\\) expects GdImage\\|resource, resource\\|false given\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/DrawingImageHyperlinkTest.php
+
+ -
+ message: "#^Cannot call method getUrl\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Hyperlink\\|null\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/DrawingImageHyperlinkTest.php
+
+ -
+ message: "#^Cannot call method getPageSetup\\(\\) on PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\Worksheet\\|null\\.$#"
+ count: 5
+ path: tests/PhpSpreadsheetTests/Functional/PrintAreaTest.php
+
+ -
+ message: "#^Cannot access offset 'size' on array\\(0 \\=\\> int, 1 \\=\\> int, 2 \\=\\> int, 3 \\=\\> int, 4 \\=\\> int, 5 \\=\\> int, 6 \\=\\> int, 7 \\=\\> int, \\.\\.\\.\\)\\|false\\.$#"
+ count: 2
+ path: tests/PhpSpreadsheetTests/Functional/StreamTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$fp of function fstat expects resource, resource\\|false given\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/StreamTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$filename of method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\IWriter\\:\\:save\\(\\) expects resource\\|string, resource\\|false given\\.$#"
+ count: 1
+ path: tests/PhpSpreadsheetTests/Functional/StreamTest.php
+
+ -
+ message: "#^Parameter \\#1 \\$expected of static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) expects class\\-string\\