Commit Graph

5822 Commits

Author SHA1 Message Date
oleibman db1aba6554 Better Sample File 2025-10-09 08:19:12 -07:00
Emeka Oziri 8fcde62db6 Xlsx: register x and o namespaces for VML shapes; add test for #4505
Fixes SimpleXMLElement::xpath(): Undefined namespace prefix when reading VML comments/shapes by registering x: (Excel) and o: (Office) namespaces alongside v:.

Includes:
- tests/PhpSpreadsheetTests/Reader/Xlsx/Issue4505Test.php
- tests/data/Reader/XLSX/issue.4505.xlsx

Refs: https://github.com/PHPOffice/PhpSpreadsheet/issues/4505
2025-10-03 23:37:56 +01:00
oleibman 0c459cbd5d Merge pull request #4674 from oleibman/stan20251001
Phpstan Update
2025-10-01 16:12:04 +00:00
oleibman 14ad63c56a Phpstan Update 2025-10-01 09:08:10 -07:00
oleibman 228bbed026 Merge pull request #4671 from PHPOffice/dependabot/composer/friendsofphp/php-cs-fixer-3.88.2
Bump friendsofphp/php-cs-fixer from 3.85.1 to 3.88.2
2025-10-01 14:49:23 +00:00
oleibman a57275b4ec Merge pull request #4672 from PHPOffice/dependabot/composer/dompdf/dompdf-3.1.2
Bump dompdf/dompdf from 3.1.1 to 3.1.2
2025-10-01 14:48:55 +00:00
dependabot[bot] 3aa80e7150 Bump dompdf/dompdf from 3.1.1 to 3.1.2
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v3.1.1...v3.1.2)

---
updated-dependencies:
- dependency-name: dompdf/dompdf
  dependency-version: 3.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 11:01:38 +00:00
dependabot[bot] 632b898298 Bump friendsofphp/php-cs-fixer from 3.85.1 to 3.88.2
Bumps [friendsofphp/php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) from 3.85.1 to 3.88.2.
- [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.85.1...v3.88.2)

---
updated-dependencies:
- dependency-name: friendsofphp/php-cs-fixer
  dependency-version: 3.88.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 11:01:34 +00:00
oleibman 4fc82f4784 Merge pull request #4663 from oleibman/tweakcoveralls
Tweak Coveralls
2025-09-25 16:20:10 +00:00
oleibman 8e9fe8b5f7 Tweak Coveralls
Coveralls recommends using an "official integration" of their product with Github. Also, allow the upload to fail without causing the whole coverage step to fail - there have been some recent problems which they are still working on. I may allow the step to fail once they are done with their changes.
2025-09-25 08:57:42 -07:00
oleibman e3cac6f1ff Merge pull request #4659 from oleibman/dompdf311
Update to Php8.5-compatible Dompdf
2025-09-22 02:21:58 +00:00
oleibman 93e715f743 Update to Php8.5-compatible Dompdf 2025-09-21 19:00:51 -07:00
oleibman 3c645277b5 Merge pull request #4653 from oleibman/extintl
Document NumberFormat Wizard Dependency on Intl Extension
2025-09-21 02:59:41 +00:00
oleibman b982ef9a70 Merge pull request #4648 from oleibman/issue4647
Drowning in Warning Messages with Corrupt Xls File
2025-09-21 02:49:06 +00:00
oleibman ac700e6450 Merge branch 'master' into issue4647 2025-09-20 19:46:09 -07:00
oleibman 296ef96015 Update CHANGELOG.md 2025-09-20 19:45:18 -07:00
oleibman 684c677937 Document NumberFormat Wizard Dependency on Intl Extension
Intl is only a "suggested" extension. A lot of the NumberFormat Wizard code depends on it. That's insufficient reason to make it required, but the suggestion text now mentions this dependency explicitly. Also clean up the Wizard documentation to reflect some changes since PhpSpreadsheet 1.28.
2025-09-17 23:04:31 -07:00
oleibman 21ef57e46d Merge pull request #4650 from oleibman/phpunitupdate
Update Phpunit
2025-09-17 18:24:31 +00:00
oleibman 6f43a3d102 Update Phpunit
Testing is becoming too messy otherwise as Php8.5 approaches.
2025-09-17 10:53:28 -07:00
oleibman 9c8f83fcbf Merge pull request #4649 from oleibman/mpdford
Temporary Workaround for Mpdf Php8.5 Deprecation
2025-09-17 17:01:56 +00:00
oleibman a76c9b82cd Upgrade Mitoteam to Beta Version
I had been trapping its errors in test bootstrap, but that no longer seems to work.
2025-09-17 09:42:23 -07:00
oleibman e73fc333af Temporary Workaround for Mpdf Php8.5 Deprecation 2025-09-17 07:53:53 -07:00
oleibman c8a1a5fd11 Merge pull request #4645 from oleibman/issue4584
Wrapped Cells and Default Row Height
2025-09-17 06:51:49 +00:00
oleibman fff2373b39 Merge branch 'master' into issue4584 2025-09-16 23:48:50 -07:00
oleibman ecc6f2f404 Update CHANGELOG.md 2025-09-16 23:47:55 -07:00
oleibman f467ac59fb Merge pull request #4596 from oleibman/intersect
Some Additional Support for Intersection and Union
2025-09-17 00:57:00 +00:00
oleibman 4fe13f06eb Update CHANGELOG.md 2025-09-16 17:54:10 -07:00
oleibman 26dfae12e8 Merge branch 'master' into intersect 2025-09-16 17:50:18 -07:00
oleibman d3da9ebdab Typo in Comment 2025-09-16 16:53:00 -07:00
oleibman 99f59c5e4c Drowning in Warning Messages with Corrupt Xls File
Fix #4647. Xls file is corrupt - PhpSpreadsheet tries to extract a substring using array notation, but the index is out of bounds. Php treats this as a warning situation, so continues to process, leading to an onslaught of warning messages. We could change to use the `substr` function rather than array notation, but that seems inappropriate - it would be better to throw an exception and have the user fix the file. In the file posted with the issue, opening it with Excel, and responding yes when it asks if it's okay to clean up the corruption, yields a usable file. Unfortunately, that file weighs in at 28MB, much too large for our test suite. So, no new unit tests accompany this change, but it has been tested.

Tests are added to `getUint2d`, which seems to be the source of the problem in the sample file, and, for good measure, `getInt2d` and `getInt4d`. There may be other sources of similar corruption, but we'll stick with what's in front of our nose.
2025-09-16 16:20:30 -07:00
oleibman 2f1092cadc Merge pull request #4646 from oleibman/iocoverage
Minor Improvements to Reader/Writer Coverage
2025-09-16 20:28:02 +00:00
oleibman 9bb090d64e Found an Untested String Increment Operator 2025-09-16 13:00:09 -07:00
oleibman acba6d1f4a Additional Test 2025-09-16 11:22:05 -07:00
oleibman 07150fc530 Didn't Like My Approach In 2 Places 2025-09-16 10:35:32 -07:00
oleibman 8e4ebd97e1 Final Tweak (I Think) 2025-09-15 21:29:46 -07:00
oleibman f3e2eba517 Additional Coverage 2025-09-15 19:48:43 -07:00
oleibman abf357ea90 1904 Calendar 2025-09-14 08:08:46 -07:00
oleibman 31d1cd7e17 Minor Tweaks 2025-09-14 01:20:24 -07:00
oleibman 9df8ceb5c0 Minor Improvements to Reader/Writer Coverage 2025-09-14 00:18:08 -07:00
oleibman 996de17311 Merge pull request #4640 from oleibman/lessprecise
Option To Display Numbers With Less Precision
2025-09-13 14:59:05 +00:00
oleibman f8fc6b5ea9 Update CHANGELOG.md 2025-09-13 07:56:18 -07:00
oleibman 38cf7ed656 Merge branch 'master' into lessprecise 2025-09-13 07:36:24 -07:00
oleibman dc25bc1ac4 Coverage Tweaks 2025-09-12 00:41:14 -07:00
oleibman 5179fff699 Merge pull request #4639 from oleibman/wakeup
Deprecate Worksheet::getHashInt and Spreadsheet::getId
2025-09-12 05:07:18 +00:00
oleibman 77eaac2e79 Merge branch 'master' into wakeup 2025-09-11 21:21:49 -07:00
oleibman c07675a59c Merge pull request #4641 from oleibman/issue4638
Proper Output for BASE Function
2025-09-12 03:29:16 +00:00
oleibman dc11b8cccd Update CHANGELOG.md 2025-09-11 20:26:30 -07:00
oleibman 2d9375f847 Wrapped Cells and Default Row Height
Fix #4584. As discussed there, MS has implemented this situation in a way that I frankly do not understand. Marking a row with a wrapped cell to *not* use the default row height seems to affect every other populated row. Very odd. Nevertheless, adding a new `customFormat` boolean property to RowDimension seems to be a way to resolve this problem. Note that the Xml generated by Excel already outputs a `customFormat` attribute when a style is applied to a row. This PR just adds that property for when it is needed for rowHeight. It need not, and should not, be set by the application when a style is applied to the row; PhpSpreadsheet will take care of that on its own.

Although the problem was raised for Xlsx format (I think), I investigated other relevant output formats as well. Html tends to do its own cell wrapping. I think the results after this change match the results before.

Xls already handled the output side of this situation without difficulty. A change was needed on the input side, and is included as part of this PR.

Ods did not handle default row height at all. As with other style properties, it is difficult to handle this on the input side, and this PR does nothing to improve that situation. However, we are, at least, able to provide some relief on the output side. Not complete relief - in order to apply the default size to unpopulated rows, we'd need to at least populate them with the `table:number-rows-repeated` attribute, and that has often been a source of problems, so I'm not willing to go there yet. This PR just ensures that all populated rows will have the correct height.
2025-09-11 20:13:21 -07:00
oleibman 9b28b9e9c1 Merge pull request #4644 from oleibman/phpstan2123
Upgrade Phpstan
2025-09-12 03:08:23 +00:00
oleibman 4b8f4e8d66 Upgrade Phpstan
A lot of changes since its last update, including one that I requested.
2025-09-11 20:02:57 -07:00