Commit Graph

3485 Commits

Author SHA1 Message Date
aswinkumar863 d414f139f1
Table name is now case insensitive
Table name comparison changed to UTF-8 aware and case insensitive
2022-04-23 18:42:11 +05:30
aswinkumar863 1d99dc8d76
Merge branch 'PHPOffice:master' into Table-for-Xlsx 2022-04-23 18:31:13 +05:30
MarkBaker ed11a41c19 Updates to the Issue template 2022-04-23 13:46:42 +02:00
MarkBaker 0facbe0c1b Fix typo in PR template 2022-04-23 13:35:56 +02:00
MarkBaker 76310a05fd Update PR Template 2022-04-23 13:35:09 +02:00
Mark Baker 8d7a85476b
Merge pull request #2771 from PHPOffice/Extract-Worksheet-Validations
Extract cell/range validations from Worksheet
2022-04-23 13:23:04 +02:00
MarkBaker 69edf61ed6 Extract cell/range validations from Worksheet and move into a separate Worksheet/Validations class as public static methods
Extract tryDefinedName logic from Worksheet, nd move into the Worksheet/Validations class as a public static method
Apply stricter validation to autofilter range arguments
2022-04-23 13:08:06 +02:00
Mark Baker 0d014822a0
Merge pull request #2767 from PHPOffice/CellCollection-Last-Loop-Adjust
Performance tweaks to cell collection
2022-04-22 16:01:25 +02:00
MarkBaker 8126e24faf Performance tweaks to cell collection
I suspect that scrutiniser may complain that the pass-by-reference values in an expression like `sscanf($coord, '%[A-Z]%d', $column, $row)` don't exist; but PHP handles that without issue, creating the variables as needed, and phpstan has no problems with that, so scrutiniser shouldn't treat it as an issue. There's no point in adding code (even if it's just pre-defining call-by-reference arguments) when it's unnecessary overhead.
2022-04-22 15:40:55 +02:00
Mark Baker f48044cb94
Merge pull request #2764 from PHPOffice/CellCollection-Performance-Tweaks
Performance tweaks to cell collection
2022-04-22 10:03:17 +02:00
MarkBaker b5e11b1307 Performance tweaks to cell collection 2022-04-21 13:32:42 +02:00
Mark Baker ee24f59af1
Merge pull request #2761 from PHPOffice/Reduce-Size-of-Cell-Collection-Unique-ID
Reduce size of Unique ID Prefix used for the Cell Collection
2022-04-20 20:42:51 +02:00
MarkBaker ad56616309 Reduce size of Unique ID Prefix used for the Cell Collection when "in memory" (reduces the per-cell memory overhead, while still retaining a unique prefix to ensure no clash between worksheet collections).
External cache (where multiple threads may be accessing the same cache with different workeets) still uses the same length and entropy in the prefix as before
2022-04-20 20:01:45 +02:00
MarkBaker 9275d0c59e Improved documentation for setting row height/column width 2022-04-19 16:42:34 +02:00
Mark Baker eabe0ca68a
Merge pull request #2757 from PHPOffice/Issue-2547_Narrow-down-Reader-format-identification
Allow Reader format identification to use a subset of possible Readers
2022-04-19 14:44:31 +02:00
MarkBaker 4a65011a2f Allow Reader format identification to use a subset of possible Readers 2022-04-19 14:24:53 +02:00
Mark Baker c05fb6efa3
Merge pull request #2755 from PHPOffice/Ods-Writer-Freeze-Pane
Ods writer freeze pane
2022-04-18 20:24:11 +02:00
Mark Baker f024259575
Merge branch 'master' into Ods-Writer-Freeze-Pane 2022-04-18 20:13:58 +02:00
MarkBaker 76f486d8e3 Initial work on supporting Freeze Pane for Ods Writer 2022-04-18 20:02:37 +02:00
oleibman 0afec91061
Change Log Updates (#2756)
Catch up on some undocumented changes.
2022-04-18 08:28:01 -07:00
andres1gb 4cd1d7039d
Fix reading of files in the root of a zip (#2731)
* Fix reading of files in the root of a zip

Xlsx.php relies in dirname($filename) for path generation. When path is a bare filename (i.e. files in the root of the zip file), dirname($filename) returns a relative path to the current directory ("."). This is ok for filesystems, but not when accesing contents in a zip file.

Xlsx documents with files in the root of the zip container are not common, but legit. I've found it to happen in files generated by Google Campaign Manager 360.

* Update Xlsx.php

* Update Xlsx.php

* Update CHANGELOG.md

* Add files via upload

* Create XlsxRootZipFilesTest.php

* Update XlsxRootZipFilesTest.php

* Add files via upload

* Delete rootZipFiles.xlsx

* Update XlsxRootZipFilesTest.php

* Update Xlsx.php
2022-04-18 06:54:41 -07:00
Mark Baker f426889571
Merge pull request #2754 from PHPOffice/Issue-2413_Autosize-Column-Allow-for-AutoFilter
Modify Autosize calculation to make allowance for the filter dropdown icon in the first row of an AutoFilter range
2022-04-17 22:07:13 +02:00
MarkBaker ea584301c7 Modify Autosize calculation to make allowance for the filter dropdown icon in the first row of an AutoFilter range 2022-04-17 21:59:52 +02:00
oleibman 9545b7a0d1
Fix Fluke Failure in Document Properties Test (#2738)
PR #2720 failed because a timestamp in Document Properties Test was off by 1. This was due to one of two possible reasons. The constructor for Properties set the Created and Modified times using separate calls to the time function; if those happened to occur in different seconds, the test would fail. The test might also fail if the Created and Modified times used the same timestamp, but the time used to compare against those was calculated in a different second. It is surprising that this failure hasn't shown up before. Regardless, this PR corrects both possible problems.
2022-04-17 08:44:29 -07:00
redforks d593617287
Fix font index problem (#2642)
* Fix font index problem

* Update RichTextSizeTest.php

Eliminate Phpstan failure.

* Update RichTextSizeTest.php

Eliminate now-unused import.
2022-04-17 08:27:28 -07:00
aswinkumar863 530e6642bf
Table name as an constructor argument
Replaced worksheet argument with table name
2022-04-17 17:48:38 +05:30
aswinkumar863 44d63f027a
Fixed coding standard with return typehints 2022-04-17 17:46:59 +05:30
aswinkumar863 ea3263650b
Minimum Table range validation
Range must be at least 1 column and 2 rows
2022-04-17 17:45:17 +05:30
aswinkumar863 3c4a51acb5
Minor refactoring work
testColumnInRange method renamed to isColumnInRange
2022-04-17 17:43:32 +05:30
aswinkumar863 3a6ebc0ce6
Fixed coding standard with strict comparisons 2022-04-17 17:42:35 +05:30
aswinkumar863 8889ecf044
Support UTF-8 Table names
Added support for UTF-8 Table names (including
combined character)
2022-04-17 17:41:49 +05:30
Mark Baker 9caa827f41
Merge pull request #2753 from PHPOffice/Issue-2346_Column-Dimensions-for-Ods-Writer
Ods Writer support for setting column width/row height
2022-04-17 11:43:27 +02:00
MarkBaker 7a2f5c4ccc Ods Writer support for setting column width/row height (including Autosizing) 2022-04-17 11:34:39 +02:00
aswinkumar863 59083263e1
Merge branch 'PHPOffice:master' into Table-for-Xlsx 2022-04-16 18:46:32 +05:30
Mark Baker de173d4705
Merge pull request #2751 from PHPOffice/CalcEngine-Bugfix-Row-Column-Ranges
Resolve Calculation Engine bug with row and column ranges being identified as named ranges
2022-04-15 15:10:38 +02:00
MarkBaker 716964eeec Resolve Calculation Engine bug with row and column ranges being identified as named ranges, adding overhead with the additional validation to process that named range 2022-04-15 14:53:33 +02:00
Mark Baker 4a28fd6eec
Merge pull request #2749 from PHPOffice/CalcEngine-Parser-Unit_Tests
Basic unit tests for formula parsing
2022-04-14 22:53:27 +02:00
MarkBaker 483ef53855 Basic unit tests for formula parsing, in preparation for work on fully supporting the Union Operator, and for providing support for Structured References 2022-04-14 22:38:19 +02:00
Mark Baker 709e2ae5ca
Merge pull request #2748 from PHPOffice/Resolve-Issue-with-Boolean-in-Branch-Pruning
Resolve issue with boolean in branch pruning when array is expected
2022-04-13 20:27:19 +02:00
MarkBaker abaa102919 Resolve issue with boolean in branch pruning when array is expected 2022-04-13 20:18:21 +02:00
MarkBaker 19988626d4 Fix change log typo 2022-04-13 18:17:29 +02:00
Mark Baker d4585ed0c6
Merge pull request #2746 from PHPOffice/Issue-2730_Combined-Ranges
Support for "chained" range operators in the Calculation Engine
2022-04-13 18:16:14 +02:00
Mark Baker 8b83e8ac4c
Merge branch 'master' into Issue-2730_Combined-Ranges 2022-04-13 18:04:00 +02:00
MarkBaker 40730c6023 Handle defined names with the range operator.
It gets awkward when the defined name is for an actual range rather than for an individual named cell; because we need to manipulate the stack when that happens.

The code is ugly, and this is a rather simplistic approach, but it works as long as the named range is a cell, a cell range, or even a "chained" range - it won't work if we have union or intersection operators in the defined range - but it does provide formula support that never existed before.
2022-04-13 17:55:51 +02:00
Mark Baker 4856376024
Merge pull request #2739 from mjan4175/fix-external-sheet-column-styles
Fix invalid styles in empty columns and rows of added external sheet.
2022-04-13 12:39:40 +02:00
MarkBaker 8c84ce4399 Support for chained range operators in the Calculation Engine (e.g. `A3:B1:C2` which gives an effective combined range of `A1:C3` or `A5:C10:C20:F1` which gives an effective combined range of `A1:F20`).
Next step will be allowing Named Cells/Ranges to be chained in the same way.
2022-04-13 12:29:59 +02:00
Mark Baker 2f52cd8644
Merge branch 'master' into fix-external-sheet-column-styles 2022-04-13 12:25:32 +02:00
mjan4175 c214a199d6 FIX: Coding style 2022-04-12 19:53:21 +02:00
mjan4175 5f317250b3 CHANGELOG.md contribution 2022-04-12 19:43:42 +02:00
mjan4175 e41fdf4909 FIX: Invalid styles in rowDimensions of added external sheet. 2022-04-12 13:38:19 +02:00