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
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
oleibman
990e3ec3a3
Handle #REF! As Argument to COUNTIF, AVERAGEIF, SUMIF
...
Fix #4381 . The report refers to COUNTIF, but AVERAGEIF and SUMIF, which are implemented in the same module, exhibit the same behavior. (There may be others, but, for now, I will just fix those 3.)
Most methods which implement Excel functions should accept mixed arguments, so that they won't throw exceptions when calculated. Of course, MS often doesn't give much guidance as to how unexpected arguments should be handled. It at least seems clear that MS will often substitute #REF! for some arguments, and will return #REF! as the result in such cases. My test indicates that a formula using, say, #DIV/0! in lieu of #REF! will cause Excel to deem the spreadsheet corrupt. So, I think I am just going to deal with #REF! and let other unexpected values continue to throw exceptions.
2025-02-24 21:40:12 -08:00
oleibman
8013034796
Fix Some Phpstan V2 Issues as Well
...
Performance of Phpstan V2 on my machine is dreadful. I will not be upgrading till I figure out how to fix it.
2025-02-24 15:43:35 -08:00
oleibman
3319770fd6
Remove Dead Statement
2025-02-23 17:57:20 -08:00
oleibman
00e77f1ac1
Phpstan Bleeding Edge Last: Reader
2025-02-23 17:32:44 -08:00
oleibman
0e8d0bfcdb
Merge pull request #4378 from oleibman/stanbleed05
...
Phpstan Bleeding Edge Part 5: All But Reader
2025-02-23 20:52:41 +00:00
oleibman
6d9c0a4319
Merge pull request #4373 from YoheiZuho/feature/justifyLastLine
...
support justifyLastLine
2025-02-23 20:43:50 +00:00
oleibman
53a984b747
Merge branch 'master' into feature/justifyLastLine
2025-02-23 12:39:58 -08:00
oleibman
f366749285
Polishing Up
2025-02-23 12:38:44 -08:00
oleibman
8c86caa6b3
Merge pull request #4377 from oleibman/issue4375
...
Ignore ignoredErrors when Not Applicable
2025-02-23 20:31:00 +00:00
oleibman
01539876b1
Merge branch 'master' into issue4375
2025-02-23 12:28:17 -08:00
oleibman
2fbc9ad014
Update CHANGELOG.md
2025-02-23 12:27:28 -08:00
oleibman
62e2259d96
A Bit of Refactoring in CellReferenceHelper
2025-02-22 13:33:11 -08:00
oleibman
27213ae6ab
Phpstan Bleeding Edge Part 5: All But Reader
2025-02-21 22:55:54 -08:00
oleibman
0c5808e166
Merge pull request #4372 from oleibman/stanbleed04
...
Phpstan Bleeding Edge Part 4: Calculation
2025-02-22 00:05:16 +00:00
oleibman
b3452af464
Merge pull request #4369 from oleibman/stanbleed03
...
Phpstan Bleeding Edge Part 3: Writer
2025-02-22 00:00:22 +00:00
oleibman
caf12eb80f
Merge branch 'master' into pr1449
2025-02-21 13:24:21 -08:00
oleibman
2661adfb22
Merge pull request #4370 from oleibman/clonespreadsheet
...
Allow Clone on Spreadsheet
2025-02-21 01:45:06 +00:00
oleibman
51de172917
Update CHANGELOG.md
2025-02-20 17:42:15 -08:00
oleibman
d813d7efcb
Merge pull request #4360 from oleibman/issue4536
...
Xlsx Reader Defined Name on Sheet with Apostrophe in Title
2025-02-21 01:32:02 +00:00