Commit Graph

3644 Commits

Author SHA1 Message Date
MarkBaker b72d91116f Update Change Log 2022-04-24 11:36:47 +02:00
Mark Baker 763e0de229
Merge pull request #2772 from oleibman/issue2768
Time Interval Formatting
2022-04-24 11:32:11 +02:00
Mark Baker da76f0d977
Merge branch 'master' into issue2768 2022-04-24 11:26:52 +02:00
oleibman c286fb8957 Minor Changes
Apply some suggestions from @MarkBaker
2022-04-23 21:42:32 -07:00
oleibman 7fe5ee84ea Time Interval Formatting
Fix #2768. DateFormatter handles only one of six special formats for time intervals `[h] [hh] [m] [mm] [s] [ss]`. This PR extends support to the rest. There should be no more than one of these in any format string. Although it certainly could make sense to treat `[d] [dd]` in the same manner, Excel does not seem to support those.

Interesting observations - hours and minutes are truncated (presumably because they may be followed by minutes and seconds), but seconds are rounded. Also, there are some floating point issues, which fortunately showed up for the example in the original issue. There, the time interval was 1.15, which should evaluate to a minutes value of 1656 (as it does in Excel). However, on my system it evaluated to 1655 because of a rounding error in the 13th decimal place. To overcome this, values are rounded to 10 decimal places before truncating.
2022-04-23 11:12:46 -07:00
MarkBaker 27221ee8cf Update Change Log 2022-04-23 19:44:41 +02:00
MarkBaker b6f9868042 Quickfix - default Worksheet in CellAddress constructor to null 2022-04-23 19:01:10 +02:00
Mark Baker 10d175e686
Merge pull request #2671 from aswinkumar863/Table-for-Xlsx
Initial implementation of Excel's tables feature
2022-04-23 18:48:19 +02:00
aswinkumar863 534cbc04c0
Accept table range as AddressRange and array
Table constructor now accepts AddressRange and array
of [$fromColumnIndex, $fromRow, $toColumnIndex, $toRow]
2022-04-23 18:43:38 +05:30
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