Commit Graph

6854 Commits

Author SHA1 Message Date
oleibman 2fef4dddeb Merge pull request #5071 from wleeaf/fix-text-format-escaped-chars
Handle backslash escapes in text formats containing @
2026-11-05 07:52:37 +00:00
oleibman af3257a1d7 Merge pull request #5066 from ganeshmshetty/xls-custom-color-index
Xls Writer: built-in palette match above the custom range does not fill the palette
2026-11-05 05:45:19 +00:00
oleibman 085d87061e Merge pull request #5060 from ybai08/fraction-format-integers
Write Integers With a Fraction Format As Excel Does
2026-11-04 18:30:36 +00:00
oleibman 87bc0d7ae1 Update Excel Anomalies.md 2026-11-04 09:34:29 -08:00
oleibman c39cca0f78 Merge pull request #5079 from oleibman/downloader4
Downloader Force Correct Extension
2026-11-04 06:13:34 +00:00
oleibman c25cc6322e Merge branch 'master' into fraction-format-integers 2026-11-03 22:10:02 -08:00
oleibman 4e2a2ea3e1 Merge pull request #5064 from aswinkumar863/fix/table-totals-row-formula
Keep table totals row formula in Xlsx
2026-11-04 05:56:37 +00:00
oleibman e15f1f03c2 Merge pull request #5059 from aswinkumar863/fix/table-remove-column-crash
Fix removeColumn() throwing "Worksheet no longer exists" on a sheet with a table
2026-11-04 04:26:58 +00:00
oleibman 78c63e3218 Merge pull request #5057 from dkulyk/xlsx-header-footer-image-alt
Xlsx Reader and Writer : Header/footer image description
2026-11-04 04:01:07 +00:00
oleibman eb3d52b038 Merge branch 'master' into fix/table-totals-row-formula 2026-11-03 07:23:17 -08:00
oleibman ae18883d80 Renames to Resolve Merge Conflict 2026-11-03 07:21:02 -08:00
oleibman b17532ebcc Merge branch 'master' into xls-custom-color-index 2026-11-03 02:12:44 -08:00
n3crosis 60cc826911 Merge commit from fork
* Bound ODS text space expansion before allocation

* Bound ODS number-format expansion and matrix spans

* Refactor ODS reader limits and update documentation for text and number-format constraints

* Refactor ODS class to consolidate max space and integer digit handling

* Update CHANGELOG.md

* Ods Reader Close Zip After Successful or Unsuccessful Read

---------

Co-authored-by: oleibman <10341515+oleibman@users.noreply.github.com>
2026-11-03 01:32:42 -08:00
oleibman db7681e201 Merge commit from fork 2026-11-03 01:07:29 -08:00
oleibman 50129486df Merge commit from fork 2026-11-01 20:02:12 -08:00
oleibman 31c5f9249f Merge pull request #5082 from PHPOffice/dependabot/composer/mitoteam/jpgraph-10.5.5
Bump mitoteam/jpgraph from 10.5.4 to 10.5.5
2026-11-01 16:28:12 +00:00
dependabot[bot] a7faf1a9b5 Bump mitoteam/jpgraph from 10.5.4 to 10.5.5
Bumps [mitoteam/jpgraph](https://github.com/mitoteam/jpgraph) from 10.5.4 to 10.5.5.
- [Release notes](https://github.com/mitoteam/jpgraph/releases)
- [Commits](https://github.com/mitoteam/jpgraph/compare/10.5.4...10.5.5)

---
updated-dependencies:
- dependency-name: mitoteam/jpgraph
  dependency-version: 10.5.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-01 11:02:41 +00:00
oleibman ef440dd714 Merge commit from fork 2026-11-01 01:23:38 -07:00
oleibman 636eb70272 Merge commit from fork 2026-10-31 20:56:58 -07:00
oleibman 32ad31dad1 Merge pull request #5072 from n3crosis/fix/agile-encryption-xml-scanner
Scan Agile EncryptionInfo XML before parsing
2026-11-01 03:33:08 +00:00
oleibman a845ef2427 Merge commit from fork 2026-10-31 17:03:50 -07:00
oleibman 1adf422f16 Downloader Force Correct Extension
... when Writer is supplied rather than file name.
2026-10-29 23:16:39 -07:00
^^ cca3cb94fa Scan Agile EncryptionInfo before XML parsing 2026-10-24 11:47:26 +08:00
Wleeaf d02713da8c Handle backslash escapes in text formats containing @
In Excel a backslash in a number format displays the next character
literally, so the format @\X shows the text Test as TestX. For a
single-section format containing @, toFormattedString() substituted
the text and returned before the code that converts escaped characters
to quoted strings ran, so the backslash was kept: Test\X, and
Prefix\ Test for "Prefix"\ @.

Send formats containing a backslash through the quoted-literal path,
after converting each escaped character outside quotes to a quoted
string as the numeric path does. Also escape backslashes in the text
before it is used as the preg_replace() replacement; only $ was
escaped, so a backslash followed by a digit or another backslash in
the text was taken as a reference (\\server\share\1 lost characters).

Fixes #5069
2026-10-23 23:28:00 +00:00
oleibman ed591ed22e Merge pull request #5068 from oleibman/fewercategories
Reorganize Samples and Improve Downloader Class
2026-10-23 23:09:31 +00:00
oleibman c76ff29fda Tweak Download Headers
Don't bother with headers "which may be needed for IE" unless user requests them.
2026-10-22 14:34:41 -07:00
oleibman 9565757138 Reorganize Samples and Improve Downloader Class
A follow-on activity to PR #5061. That PR added scrollbars to the dropdown lists when samples were run in a browser. Earlier changes had broken up a number of categories into multiple entries because the dropdown lists were too long and wound up truncated. With the scrollbars, it makes sense to re-consolidate many of those lists, such as ComplexNumbers, which are all essentially the same test as each other. Some break-ups are retained (e.g. Basic/1/2/3/4/5) because they differ substantially from sample to sample; that's kind of an arbitrary decision, but it will have to do for now. I also renamed some of the members so that like members sort together when listing the directory (e.g. all pivot table samples now start with `pvt`). The sample code is mostly unchanged; only the directory and/or member names are changed.

The download samples were moved to their own new directory, and now represent a complete set of all the write formats that we permit. Studying their code, an improvement for `Helper\Downloader` became evident. It had been used merely to copy an existing file to be downloaded. However, by changing the first parameter of `download` to be either the name of the file directory (the existing usage) *or* a `Writer` object poised to issue `save`, you can use it to download your spreadsheet without having to worry about the headers which the browser requires. It then becomes generally useful beyond being used in samples:
```php
$writer = new WriterType($spreadsheet);
$downloader = new Downloader($writer, 'suggestedFileName.xlsx');
$downloader->download();
```
2026-10-22 13:22:48 -07:00
Ganesh M d1f804652c Add PR link to changelog 2026-10-21 17:02:16 +00:00
Ganesh M ee598606cb Xls Writer: built-in palette match above the custom range does not fill the palette
A color matching a built-in palette entry above the custom range (e.g.
333333 at index 63) was cached with that index, and max() then made the
palette look full, so the next custom color was written as black.

Fixes #5065
2026-10-21 17:01:49 +00:00
oleibman 6b03c5e70f Merge pull request #5061 from oleibman/bootstrapv5
Update Supporting Software For Running Samples in Browser
2026-10-20 23:18:39 +00:00
oleibman 9728e3ddd0 Jumbotron is Deprecated 2026-10-19 12:50:18 -07:00
aswinkumar863 36fd95ab52 Merge remote-tracking branch 'origin/fix/table-totals-row-formula' into fix/table-totals-row-formula
# Conflicts:
#	CHANGELOG.md
2026-10-19 17:25:14 +05:30
aswinkumar863 647a7d7b0c Set table totals row cells from their function or label
The totals row label, function or formula now fills the totals cell
when it is empty, so the samples don't have to set it by hand.
2026-10-19 17:23:47 +05:30
oleibman aff033129f Merge branch 'master' into fix/table-totals-row-formula 2026-10-18 20:17:21 -07:00
oleibman 14ff19bd78 Merge branch 'master' into fraction-format-integers 2026-10-18 20:16:37 -07:00
oleibman 56cec70183 Merge branch 'master' into fix/table-remove-column-crash 2026-10-18 20:15:41 -07:00
oleibman 2659ade70b Merge branch 'master' into xlsx-header-footer-image-alt 2026-10-18 20:13:10 -07:00
oleibman ed31270f24 Merge branch 'master' into bootstrapv5 2026-10-18 20:10:56 -07:00
oleibman 414a7ceb47 Merge pull request #5053 from oleibman/winci
Add A Windows CI Step
2026-10-19 02:59:29 +00:00
oleibman c448bd3330 Update CHANGELOG.md 2026-10-18 19:55:27 -07:00
oleibman 9a1b9604aa Merge branch 'master' into winci 2026-10-18 19:38:36 -07:00
oleibman 35e1009836 Merge pull request #5054 from oleibman/libxmlbreak2
Breaking Changes in libxml Affecting Helper\Html and Reader\Html
2026-10-19 02:31:21 +00:00
oleibman 6720b53f42 Merge pull request #5055 from HawkForge/fix-branch-pruning-nested-if-condition
Fix branch pruning for IF nested in the condition of a pruned IF
2026-10-19 02:29:52 +00:00
oleibman 4ecc20fc05 Merge branch 'master' into fix-branch-pruning-nested-if-condition 2026-10-18 19:25:53 -07:00
oleibman 753d7155f7 Merge pull request #5051 from Progi1984/wmf
Support for Windows Metafiles images (WMF, EMF and EMF+)
2026-10-19 02:18:12 +00:00
oleibman 98ba31713d Merge branch 'master' into wmf 2026-10-18 19:14:23 -07:00
oleibman c05548a8ea Final Tweaks (I Hope) 2026-10-18 17:08:35 -07:00
oleibman 529a2b2d56 A Little More Tweaking 2026-10-18 15:24:04 -07:00
oleibman 378fb6931a Add Doctype, Get Rid of nbsp 2026-10-18 13:05:56 -07:00
aswinkumar863 aa8c4ed3a2 Update change log 2026-10-18 23:06:41 +05:30