-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Calculation engine array formulae initial work #2539
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Only supports the basic happy path (no handling for Error results when reading) No functionality yet for setting array formulae in code
b9a7aed
to
8156ed9
Compare
6672dbc
to
39a6c29
Compare
…ibutes are being set correctly
… spillage cells when calculating the value No provision yet for the single operator, or for handlng #SPILL! or #CALC! errors
…on is written and linked; and then tag array formula cells with the `cm` tag to link them to that cell metadata definition
2793171
to
d2435cd
Compare
…mula range dimensions, expanding or shrinking it as necessary.
…containing an array formula
d854d5b
to
5b322f3
Compare
…AY()`) and Single (`SINGLE()`) Operators
5b322f3
to
593a9f0
Compare
…or Cell's setValueExplicit() method
593a9f0
to
3cec90d
Compare
Note that the deprecated Excel function implementation classes should be removed completely for PhpSpreadsheet 2.0.0; and the bc break that array formula handling entails will require this to be a 2.0.0 implementation... but just for the moment, this is a cleanup... those files will be deleted once we switch to development on a 2.0-dev branch, and I want to do a few more PR merges before then, and update this branch as part of the 2.0-dev changes
# Conflicts: # phpstan-baseline.neon # src/PhpSpreadsheet/Worksheet/Worksheet.php
Start removing some of the deprecations, starting with the old Excel Function implementations.
… indicator that a method should be internal only
# Conflicts: # docs/references/function-list-by-category.md # docs/references/function-list-by-name.md # phpstan-baseline.neon # src/PhpSpreadsheet/Worksheet/Worksheet.php
# Conflicts: # phpstan-baseline.neon
# Conflicts: # phpstan-baseline.neon # src/PhpSpreadsheet/Calculation/Calculation.php
# Conflicts: # phpstan-baseline.neon
…Initial-Work # Conflicts: # phpstan-baseline.neon # src/PhpSpreadsheet/Calculation/Calculation.php # src/PhpSpreadsheet/Calculation/Functions.php # src/PhpSpreadsheet/Calculation/MathTrig.php
…Initial-Work # Conflicts: # phpstan-baseline.neon
4c46566
to
b1d1ce7
Compare
# Conflicts: # phpstan-baseline.neon
…Initial-Work # Conflicts: # phpstan-baseline.neon # tests/PhpSpreadsheetTests/Worksheet/WorksheetTest.php
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
BREAKING CHANGE
calculation engine
reader/gnumeric
Reader for Gnumeric spreadsheet files
reader/ods
Reader for Open/LibreOffice spreadsheet files (OASIS)
reader/xlsx
Reader for MS OfficeOpenXML-format (xlsx) spreadsheet files
writer/ods
Writer for Open/LibreOffice spreadsheet files (OASIS)
writer/xlsx
Writer for MS OfficeOpenXML-format (xlsx) spreadsheet files
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is:
Checklist:
Why this change is needed?
Initial support for reading/writing array formulae with the Xlsx Reader/Writer
Work to allow setting array formulae from userland code looks like it will create a BC break. It requires extra arguments for the Cell
setValue()
andsetValueExplicit()
methods - the equivalent of pressing Ctrl-Enter when entering an array formula in MS Excel - (unless I can come up with some creative alternative, like executing the formula at the point when it is set to identify if it is an array formula or not; and if so, what the spillage cell range should be); and these additional arguments must be passed to the Cell Binder creating a BC break for the BinderInterface.