Commit Graph

6335 Commits

Author SHA1 Message Date
oleibman 7cc6e4e580 Merge pull request #4872 from oleibman/upgrades
Combine Dependabot Changes
2026-05-02 02:40:06 +00:00
oleibman 5c8c20686f Combine Dependabot Changes
Someting seemed to be wrong with push setup. We'll see if it's fixed.
2026-05-01 19:17:45 -07:00
oleibman d5cdc29a3e Merge pull request #4864 from williamdes/fix/no-spurious-t-attribute-when-pre-calc-off
Don't infer cell t attribute from formula source when pre-calc is off
2026-04-30 00:06:17 +00:00
William Desportes 5eb433e08b fix: don't infer cell t attribute from formula source when pre-calc is off
writeCellFormula() falls back to using $cellValue (the formula source) as
$calculatedValue when getPreCalculateFormulas() is false. The source is
always a string, so the is_string($result) branch always fires, every
formula cell ends up with t="str" — even those whose formula evaluates
to a number or boolean.

Some readers (notably older LibreOffice and Gnumeric) treat t="str" as
a hint that the cell is a string, and either skip recomputation or
present a #NAME error for numeric formulas they would otherwise compute
correctly.

Fix: leave $calculatedValue null and $calculatedValueString empty when
pre-calc is off. The type-inference branches no longer fire, so no t
attribute is written. The surrounding writeElementIf already guards <v>
emission on getPreCalculateFormulas(), so no cached value is written
either — readers see "formula with no cached value, no type hint",
respect the workbook's fullCalcOnLoad="1", and recompute on open.

Updates the existing PreCalcTest assertion to match: <c r="B2"><f>3+A3</f></c>
instead of <c r="B2" t="str"><f>3+A3</f></c>.
2026-04-29 19:27:57 +02:00
oleibman c0e328482a Merge pull request #4861 from Dayoebe/master
Update APCu cache documentation example
2026-04-26 21:13:23 +00:00
Adedayo Oyetoke 7db2898145 Update APCu cache documentation example 2026-04-25 22:41:32 +01:00
oleibman 5483cf930d Merge pull request #4858 from oleibman/preserveformat
Html Writer/Reader New `data` Attributes
2026-04-22 02:00:28 +00:00
oleibman 381bdacb8e Update CHANGELOG.md 2026-04-21 18:56:40 -07:00
oleibman 7d2ce75f70 Merge branch 'master' into preserveformat 2026-04-20 21:18:51 -07:00
oleibman d6a4e39799 Merge pull request #4829 from kemo/perf/formula-ast-parsing
Add formula token cache to reduce repeated parsing overhead
2026-04-21 04:11:47 +00:00
oleibman e02c7918de Update CHANGELOG.md 2026-04-20 21:08:02 -07:00
oleibman 3158be0a0f Merge pull request #4855 from oleibman/htmltextcolor
Html Writer Handle Text Colors a Bit Better
2026-04-21 03:53:52 +00:00
oleibman 4ef51eece5 Update CHANGELOG.md 2026-04-20 20:49:54 -07:00
oleibman ea01a00d5c Merge pull request #4856 from oleibman/coverage10
Improve Coverage
2026-04-21 03:41:04 +00:00
oleibman f4fc8c974a Merge branch 'master' into coverage10 2026-04-20 08:44:14 -07:00
oleibman 7319eb8008 Merge branch 'master' into htmltextcolor 2026-04-20 08:41:19 -07:00
oleibman 818c3ac259 Merge branch 'master' into perf/formula-ast-parsing 2026-04-20 08:36:25 -07:00
oleibman 9f55d3b9b7 Merge pull request #4859 from oleibman/updchangelog20260419
Update Changelog for New Release
5.7.0
2026-04-20 02:42:17 +00:00
oleibman 2e35213f2a Update Changelog for New Release 2026-04-19 19:37:16 -07:00
oleibman 9019a9c9da Merge commit from fork 2026-04-18 23:43:10 -07:00
oleibman f1eb4e6980 Merge commit from fork 2026-04-18 23:10:20 -07:00
oleibman 3311a223fe Merge branch 'master' into perf/formula-ast-parsing 2026-04-14 13:09:13 -07:00
oleibman ed82b8b30b Html Writer/Reader New data Attributes
Html Reader recognizes a `data-format` attribute for storing the number format associated with a cell. However, Html Writer does not set this attribute. This PR offers a new Writer property `preserveFormatAndValue` and setter; when `true`, for any cell which uses a number format other than the default `General` the writer will generate a `data-format` attribute and, for strings or numbers, it will also generate a `data-value` attribute. This will increase the accuracy of the spreadsheet when reading/writing Html.

To make this change less abstract, assume a cell which has a value of `1234` and a number format of `$#,###.00`. The cell displayed in the generated Html will appear, regardless of the setting of the new property, as `$1,234.00`. However, the Reader currently treats it as a string with that value. If the html has been generated with the new property set to `true`, the Reader will treat it as a numeric cell with a value of `1234` and a style of `#,###.00`. This permits a more accurate reproduction of the original spreadsheet.

I suspect that setting the new property, aside from causing a slight increase in file size, will not cause any significant breaks. However, I'm not totally convinced, so the property will default to `false` (no change in behavior). The default may change in a future breaking release.
2026-04-12 09:34:43 -07:00
oleibman 7095712837 Avoid Future Merge Conflict 2026-04-10 14:33:01 -07:00
oleibman 9b90dee03d Merge pull request #4857 from oleibman/changelog20260406
Prepare Changelog For New Release
5.6.0
2026-04-10 03:00:03 +00:00
oleibman f302b3265a Prepare Changelog For New Release 2026-04-09 19:54:28 -07:00
oleibman 5b174d37f2 Improve Coverage
Take on some low-hanging fruit, mostly in Conditional Formatting Wizard.
2026-04-06 09:28:17 -07:00
oleibman cd566a3f7d Minor Change 2026-04-06 07:05:28 -07:00
oleibman fc6e7e6a66 Html Writer Handle Text Colors a Bit Better
Researching a security advisory, the code for handling text colors in Html Writer when the cell is non-numeric and the color is hard-coded in the Number Format looked a bit suspicious. As it turns out, the code was *not* subject to a security exploit. However, the color for the Number Format was ignored. This PR corrects that omission.
2026-04-05 22:50:02 -07:00
oleibman 4a476071b3 Merge pull request #4850 from oleibman/updatestan
Update PhpStan
2026-04-05 07:15:00 +00:00
oleibman 8a9e9b5610 Merge pull request #4845 from oleibman/csvnonutf8
More Extendability for CSV Reader
2026-04-05 07:06:58 +00:00
oleibman 5d6d7d537f Merge branch 'master' into csvnonutf8 2026-04-05 00:03:05 -07:00
oleibman 6f23fe3d8c Merge pull request #4844 from oleibman/xlookup
XLOOKUP
2026-04-05 06:44:28 +00:00
oleibman 78a151d340 Merge branch 'master' into xlookup 2026-04-04 23:39:55 -07:00
oleibman 49035ade39 Update CHANGELOG.md 2026-04-04 23:39:17 -07:00
oleibman e2927cfa71 Merge commit from fork 2026-04-04 21:30:27 -07:00
oleibman 93c94eb31d Merge commit from fork
* Test Protocol Not Supplied Before Using is_file

* added missing assertFile and renamed prohibitPhar

* More Tests

---------

Co-authored-by: calligraf0 <115566010+calligraf0@users.noreply.github.com>
2026-04-04 21:04:58 -07:00
oleibman b45c4f7ee0 Correct Spacing 2026-04-03 21:12:33 -07:00
oleibman 823f7ee535 More Tests 2026-04-03 20:49:02 -07:00
oleibman 10305b3a48 Additional Test 2026-04-03 15:32:45 -07:00
oleibman 7e9c3814c4 Update PhpStan
Too many errors when Dependabot tried. These seem mostly to involve `implode`, whose use is often embedded in other function calls. For that reason, these changes include a higher proportion than usual of `// @phpstan-ignore-line`.
2026-04-03 13:00:27 -07:00
oleibman 36013a3db5 Merge pull request #4849 from PHPOffice/dependabot/composer/tecnickcom/tcpdf-6.11.2
Bump tecnickcom/tcpdf from 6.11.0 to 6.11.2
2026-04-01 13:35:13 +00:00
oleibman 274676f1bb Merge pull request #4848 from PHPOffice/dependabot/composer/dompdf/dompdf-3.1.5
Bump dompdf/dompdf from 3.1.4 to 3.1.5
2026-04-01 13:34:53 +00:00
oleibman 3f0eb5a432 Merge pull request #4846 from PHPOffice/dependabot/composer/mpdf/mpdf-8.3.1
Bump mpdf/mpdf from 8.2.7 to 8.3.1
2026-04-01 13:34:32 +00:00
dependabot[bot] f7de90492b Bump tecnickcom/tcpdf from 6.11.0 to 6.11.2
Bumps [tecnickcom/tcpdf](https://github.com/tecnickcom/TCPDF) from 6.11.0 to 6.11.2.
- [Changelog](https://github.com/tecnickcom/TCPDF/blob/main/CHANGELOG.TXT)
- [Commits](https://github.com/tecnickcom/TCPDF/compare/6.11.0...6.11.2)

---
updated-dependencies:
- dependency-name: tecnickcom/tcpdf
  dependency-version: 6.11.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-01 12:44:53 +00:00
dependabot[bot] 6c0e818845 Bump dompdf/dompdf from 3.1.4 to 3.1.5
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v3.1.4...v3.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-01 12:44:50 +00:00
dependabot[bot] 989a4d25a5 Bump mpdf/mpdf from 8.2.7 to 8.3.1
Bumps [mpdf/mpdf](https://github.com/mpdf/mpdf) from 8.2.7 to 8.3.1.
- [Release notes](https://github.com/mpdf/mpdf/releases)
- [Changelog](https://github.com/mpdf/mpdf/blob/development/CHANGELOG.md)
- [Commits](https://github.com/mpdf/mpdf/compare/v8.2.7...v8.3.1)

---
updated-dependencies:
- dependency-name: mpdf/mpdf
  dependency-version: 8.3.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-01 12:44:42 +00:00
oleibman d16e20d915 Merge pull request #4843 from TobiasBg/patch-1
Refactor hyperlink URL assignment logic
2026-03-31 05:41:04 +00:00
oleibman eeabef74a4 Update CHANGELOG.md 2026-03-30 22:36:51 -07:00
oleibman 82ac6cec01 Merge pull request #4824 from kemo/perf/spreadsheet-copy-without-serialize
Examine Performance of Clone vs Serialize/Unserialize
2026-03-31 05:22:40 +00:00