Commit Graph

5278 Commits

Author SHA1 Message Date
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
oleibman 898ec448cd Update CHANGELOG.md 2025-02-20 17:28:47 -08:00
oleibman 771b3f1784 Update OFFSET
Fix #4376.
2025-02-19 20:35:42 -08:00
oleibman 82ac7abb20 Merge pull request #4366 from oleibman/visibility
Add sheetState to ListWorksheetInfo Data
2025-02-19 06:03:53 +00:00
oleibman 94117dd7e6 Merge branch 'master' into visibility 2025-02-18 21:15:21 -08:00
oleibman 8e899d1654 Update CHANGELOG.md 2025-02-18 21:14:11 -08:00
oleibman 2e998d6ab5 Merge pull request #4361 from oleibman/issue4357
IOFactory::identify and Custom Reader/Writer
2025-02-19 04:39:55 +00:00
oleibman 3675f084f8 Update CHANGELOG.md 2025-02-18 20:37:20 -08:00
oleibman 8e50403930 More Tweaks 2025-02-18 10:43:27 -08:00
oleibman 2250a0e53b Yet Another Test 2025-02-18 01:57:53 -08:00
oleibman ae6c92b006 More Tests 2025-02-17 22:45:05 -08:00
oleibman 8930e634a1 Add Some Tests 2025-02-17 17:58:17 -08:00
oleibman 133e1ecf68 Update IOFactoryRegisterTest.php
Now using Phpstan bleeding edge, and it detected a previously undetected problem.
2025-02-16 17:55:40 -08:00
oleibman dc1fcafbbe Merge branch 'master' into issue4357 2025-02-16 17:47:44 -08:00
oleibman 66ae679489 Merge branch 'master' into issue4536 2025-02-16 17:27:37 -08:00
oleibman 4e7e876b83 Tighten Up getStyle(definedName) Processing 2025-02-16 17:24:17 -08:00
oleibman c531f5dd61 Merge pull request #4368 from oleibman/stanbleed02
Phpstan Bleeding Edge Part 2 of Many
2025-02-16 15:12:34 +00:00
oleibman 820d9ca331 Scrutinizer Keeps Holding Out on Dead Code
I think this may finish it off.
2025-02-15 20:47:48 -08:00
oleibman b64842094a More Dead Code
I sure wish Scrutinizer would give a complete report.
2025-02-15 20:31:26 -08:00
oleibman 7f0bcb8aca Eliminate Dead Code 2025-02-15 20:05:19 -08:00
oleibman ec773bbed9 Phpstan Bleeding Edge Part 2 of Many
This will be the biggest of these changes. It takes care of all of the remaining problems in tests. I will handle the problems in src more slowly.
2025-02-15 19:18:39 -08:00
oleibman cd7386f912 Merge pull request #4367 from oleibman/issue4365
Documentation Update
2025-02-15 08:23:13 +00:00
oleibman e2d68f75e7 Documentation Update
Fix #4365.
2025-02-15 00:18:15 -08:00
oleibman 9978d0605f Merge pull request #4359 from oleibman/stanbleed01
Phpstan Bleeding Edge Part 1 of Many
2025-02-15 08:04:18 +00:00
oleibman d9f49126a0 Update CHANGELOG.md 2025-02-15 00:01:42 -08:00
oleibman 9b07be9a0f Add sheetState to ListWorksheetInfo Data
Fix #4345. Add a new item to the output array. Although the output is changed, this does not seem like a breaking change to me.
2025-02-14 23:40:50 -08:00
oleibman 7b606243a0 More Apostrophe Fixes
Fix #4362. A similar problem to 4360, Style not handling sheet name with embedded apostrophe properly. And, with two examples in hand, I was able to determine a pattern to find and fix other possible exposures.
2025-02-14 19:40:34 -08:00
oleibman 1e1ba2090c Wrong Case in File Name 2025-02-12 20:12:26 -08:00
oleibman e9a08933e8 IOFactory::identify and Custom Reader/Writer
Fix #4357.`identify` returns a type, not a class name, and this result is not always usable for createReader. The docs say that it is usable in that manner. Changing the behavior of `identify` would be a breaking change, but adding an optional parameter (defaulting to current behavior) allowing it to return a class name rather than a type would not. This PR adds that parameter and updates the documentation to suggest its use for the code in question.

To complete this change, `createReader` now accepts either a type (current behavior) or class name (new). Although it is not particularly identified as a possible problem by the issue, `createWriter` is similarly changed for consistency's sake.
2025-02-12 20:04:40 -08:00
oleibman 467f808c33 Tweak Helper/Html 2025-02-12 13:19:30 -08:00
oleibman ac148c8d10 Xlsx Reader Defined Name on Sheet with Apostrophe in Title
Fix #4356. Xlsx Reader needs to handle apostrophe for sheet title in defined name by converting doubled apostrophes to single.
2025-02-12 08:05:11 -08:00
oleibman 898fa0bf60 Phpstan Bleeding Edge Part 1 of Many
We currently use Phpstan Release 1. Release 2 has been available for some time, and we would like to stay current if possible. In order to get to Release 2, we first have to pass the "bleeding edge" tests for Release 1. I will do this by generating a new baseline using bleeding edge, then fix the baseline errors over several different PR's. This is the first of those.
2025-02-12 07:48:32 -08:00
oleibman cf582361c3 Merge pull request #4351 from oleibman/datetext
Fix TEXT and TIMEVALUE Functions Master Branch
2025-02-11 04:35:40 +00:00
oleibman a9749332d7 Merge branch 'master' into datetext 2025-02-09 20:31:23 -08:00
oleibman 04c0a793ee Fix TEXT and TIMEVALUE Functions Master Branch
Fix #4249. Technically speaking, only the 1.29 branch needs fixing, and only for TEXT. It was fixed for the other branches by PR #3898. However, in adding test cases for the fix, it became apparent that PhpSpreadsheet's parsing in TIMEVALUE (which is called from TEXT in the original issue) did not really match Excel's. There are probably still edge cases where it doesn't, but, in the absence of a spec for how it operates, this will do for now.

We do not usually backport fixes from the master branch. Because this is more of a forward port from the earlier branch, there is an equivalent PR for each active branch.
2025-02-09 20:27:27 -08:00
oleibman 33f8fc1624 Merge pull request #4350 from oleibman/escape
Allow php-cs-fixer to Handle Implicit Backslashes
2025-02-08 08:45:01 +00:00
oleibman 37b6ca4979 Allow php-cs-fixer to Handle Implicit Backslashes
Its defaults are to unescape within single quotes, and escape within double quotes and here-docs. Right now, it leaves everything as-is, which means our code is inconsistent and need not be. Further, although dealing with complex regular expressions will never be easy, I find it much easier to figure out what's going on when superfluous back-slashes are removed.

These changes were all made automatically using the "fix" script, so should be reliable. They, of course, pass all unit tests.
2025-02-08 00:11:01 -08:00
oleibman 9d1ad14a48 Merge pull request #4349 from oleibman/updstan
Upgrade Phpstan
2025-02-08 05:02:56 +00:00
oleibman 4bbbbac700 Upgrade Phpstan
Prepatory to switching to "bleeding edge", necessary for Phpstan V2.
2025-02-07 20:58:37 -08:00
oleibman 2d4b9f3582 Merge pull request #4348 from oleibman/chglog20250207
Prepare Changelog for New Release
4.0.0
2025-02-08 02:28:25 +00:00
oleibman f90b6d6799 Setup Suddenly Needs apt-get update 2025-02-07 18:24:16 -08:00
oleibman 5714c8df53 Prepare Changelog for New Release 2025-02-07 17:49:59 -08:00
oleibman 1be70e9036 Merge pull request #4344 from oleibman/parseutf8
Writer/Xls/Parser::advance Should Parse by Character
2025-02-07 16:59:26 +00:00
oleibman cff401544c Merge branch 'master' into parseutf8 2025-02-07 08:56:53 -08:00
oleibman 18cfe5ba7e Merge pull request #4326 from oleibman/serialize
Allow Spreadsheet Serialization
2025-02-07 16:48:05 +00:00
oleibman e58dd89642 Update CHANGELOG.md 2025-02-07 08:43:18 -08:00
oleibman d6892b2733 Merge branch 'master' into serialize 2025-02-07 08:33:24 -08:00
oleibman a432882ea1 Merge pull request #4328 from oleibman/arraysexplicit
Make Explicit Array Return Type When Tests Require It
2025-02-07 06:59:28 +00:00
oleibman 4ad6b32a2b Update CHANGELOG.md 2025-02-06 22:52:14 -08:00
oleibman 4d6db5d1a7 Merge branch 'master' into arraysexplicit 2025-02-06 22:44:41 -08:00