Commit Graph

5407 Commits

Author SHA1 Message Date
oleibman 511f4c6277 Update CHANGELOG.md 2025-03-25 20:01:33 -07:00
oleibman 100d14969d Fix Typo in Style exportArray quotePrefix
Fix #4422. Add tests.
2025-03-24 22:05:20 -07:00
oleibman 74dca30c89 Merge pull request #4399 from oleibman/stan2lv902
Phpstan Level 9 - Part 2 of Many
2025-03-13 15:39:34 +00:00
oleibman b1beafb86f Merge pull request #4398 from oleibman/localesplit2
Move Locale Logic in Calculation to Separate Class
2025-03-12 07:37:32 +00:00
oleibman c3ea02ec01 Merge branch 'master' into localesplit2 2025-03-12 00:34:59 -07:00
oleibman 815a3c0494 Update CHANGELOG.md 2025-03-12 00:33:57 -07:00
oleibman 5868f899db Merge pull request #4339 from quonly/patch-1
changed $trenType to $trendMethod in case TREND_BEST_FIT
2025-03-12 06:48:09 +00:00
oleibman 8f3bb96387 Update CHANGELOG.md 2025-03-11 23:45:31 -07:00
oleibman 6e1f3b909c More Phpstan
Having Trend:calculate return BestFit rather than mixed eliminates many Phpstan messages in baseline.neon.
2025-03-09 21:56:32 -07:00
oleibman 596af4e4b3 Merge branch 'master' into patch-1 2025-03-09 21:35:21 -07:00
oleibman d462fbf05e Fix Phpstan and Scrutinizer Problems 2025-03-09 21:27:29 -07:00
oleibman 263a397b84 Add test, Disable TREND_BEST_FIT, POLYNOMIAL_BEST_FIT 2025-03-09 20:21:16 -07:00
oleibman c84960fb69 Phpstan Level 9 - Part 2 of Many 2025-03-08 23:22:15 -08:00
oleibman 156a12c0a4 Move Locale Logic in Calculation to Separate Class
Make things more maintainable (I hope).
2025-03-07 23:55:44 -08:00
oleibman 20aac080e1 Merge pull request #4396 from oleibman/stan2lv901
Phpstan Level 9 - Part 1 of Many
2025-03-08 06:18:52 +00:00
oleibman fca2184fdf Fix Phpstan Problems 2025-03-07 22:15:50 -08:00
oleibman b2d885fc4c Merge branch 'master' into stan2lv901 2025-03-07 21:55:50 -08:00
oleibman 9fc52cd91c Update CHANGELOG.md 2025-03-07 21:53:55 -08:00
oleibman 6ec2cc97a8 Merge pull request #4390 from oleibman/customfunc
Add Ability to Add Custom Functions to Calculation
2025-03-08 05:38:04 +00:00
oleibman 4d81e53606 Merge branch 'master' into customfunc 2025-03-07 11:47:56 -08:00
oleibman 3ef8ec4b1a Merge pull request #4393 from oleibman/formularange
Add FormulaRange to IgnoredErrors Possibilities
2025-03-07 03:44:16 +00:00
oleibman 6ab82465f8 Update CHANGELOG.md 2025-03-06 19:41:46 -08:00
oleibman c0a966b9bb Add a Test
Prove you can't override a built-in function.
2025-03-06 16:40:09 -08:00
oleibman acf20f079d Merge pull request #4389 from oleibman/issue4383
BIN2DEC, OCT2DEC, HEX2DEC Return Numbers Rather than Strings
2025-03-06 06:20:14 +00:00
oleibman d1d12ed92d Phpstan Level 9 - Part 1 of Many
Dealing mostly with mixed variable type. In a great many cases, problems can be resolved replacing `getValue` with `getValueString` or `getCalculatedValue` with `getCalculatedValueString`.
2025-03-05 21:59:54 -08:00
oleibman 190af743f8 Add FormulaRange to IgnoredErrors Possibilities
When I implemented IgnoredErrors (PR #3508), I dealt only with those that I understood well enough to come up with an example. I finally found an example for FormulaRange in the wild, so this PR adds it. Still unsupported are `calculatedColumn`, `emptyCellReferece`, `listDataValidation`, and `unlockedFormula`.
2025-03-03 20:16:12 -08:00
oleibman 93069fd1ad Merge pull request #4392 from christian-fries/patch-1
Add sheet state to worksheet info
2025-03-03 16:40:02 +00:00
Christian Fries 27518ac6d8 Add sheet state to worksheet info 2025-03-03 11:24:49 +01:00
oleibman 53bce34456 Add Ability to Add Custom Functions to Calculation
For an overview of why this is desired (and ways that people have coped with its absence), see issue #2900 and issue #4048; also PR #4043 which will be superseded by this PR.

The list of Excel functions is moved from Calculation/Calculation to its own member. I believe that it is done in a way that will not cause big complications to two experiments from @MarkBaker (PR #2714 and PR #2734). I believe it is also done in such a way that further refactoring of Calculation can follow this model.

Custom functions can be added or removed from the function list. You cannot add a function if it already exists in the list, and you cannot remove a non-custom function from the list. They will, of course, not be understood by Excel if written to a spreadsheet; the use case is mainly using the Calculation engine outside of spreadsheet context.
2025-03-02 13:56:34 -08:00
oleibman a67a981d5e BIN2DEC, OCT2DEC, HEX2DEC Return Numbers Rather than Strings
Fix #4383.
2025-03-02 01:16:14 -08:00
oleibman 875dc354f9 Merge pull request #4384 from oleibman/stan2new
Phpstan V2
2025-03-02 07:05:51 +00:00
oleibman 6ff18c3a8d Merge pull request #4388 from oleibman/changelog20250301
Prepare Changelog for New Release
4.1.0
2025-03-02 06:52:24 +00:00
oleibman c13e803bf2 Prepare Changelog for New Release 2025-03-01 22:47:54 -08:00
oleibman 7fd06b524a Merge pull request #4387 from PHPOffice/dependabot/composer/friendsofphp/php-cs-fixer-3.70.0
Bump friendsofphp/php-cs-fixer from 3.68.5 to 3.70.0
2025-03-01 15:23:29 +00:00
dependabot[bot] 0cac522ca5 Bump friendsofphp/php-cs-fixer from 3.68.5 to 3.70.0
Bumps [friendsofphp/php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) from 3.68.5 to 3.70.0.
- [Release notes](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.68.5...v3.70.0)

---
updated-dependencies:
- dependency-name: friendsofphp/php-cs-fixer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-01 11:19:12 +00:00
oleibman 4791209658 Merge pull request #4382 from oleibman/issue4381
Handle #REF! As Argument to COUNTIF, AVERAGEIF, SUMIF
2025-03-01 00:20:33 +00:00
oleibman 44ed8a8b6d Merge branch 'master' into issue4381 2025-02-28 16:17:52 -08:00
oleibman 98e5a3f7da Update CHANGELOG.md 2025-02-28 16:17:13 -08:00
oleibman 027a5c69c1 Merge pull request #3341 from HuongNV13/php82-str-split-function-return
Fix PHP8.2 str_split function returns empty arrays for empty strings
2025-02-28 23:57:21 +00:00
oleibman 93169c6203 Update CHANGELOG.md 2025-02-28 15:54:46 -08:00
oleibman 497d036e91 Make Use of UTF-8 Explicit
Php manual describes it as good practice to do so.
2025-02-27 09:49:13 -08:00
oleibman a1f90b76e4 Add A Test 2025-02-26 18:52:31 -08:00
oleibman a2040b88b5 Phpstan V2 2025-02-26 14:18:58 -08:00
oleibman ea490a1d87 Remove Unwanted Tests 2025-02-26 00:58:57 -08:00
oleibman fcc781d3d7 Merge branch 'master' into php82-str-split-function-return 2025-02-25 22:33:31 -08:00
oleibman a936254e10 Merge pull request #3528 from oleibman/pr1449
Partial Solution for Removing Rows or Columns that Include Edge Ranges
2025-02-26 05:03:23 +00:00
oleibman 1e2c86bdbb Update CHANGELOG.md 2025-02-25 21:00:46 -08:00
oleibman 753e5d5e5a Merge branch 'master' into pr1449 2025-02-25 20:40:10 -08:00
oleibman b4cd42d2b2 Merge pull request #4380 from oleibman/stanbleed06
Phpstan Bleeding Edge Last: Reader
2025-02-26 04:35:09 +00:00
oleibman db6e6ebd72 3rd Parameter for AVERAGEIF/SUMIF Can Also Be #REF! 2025-02-25 20:11:23 -08:00