4582 Commits

Author SHA1 Message Date
oleibman c4b934a91d Update main.yml 2024-01-02 00:03:05 -08:00
oleibman b33d14e858 Update main.yml 2024-01-01 23:33:34 -08:00
oleibman 9de13cd975 Update main.yml 2024-01-01 23:10:20 -08:00
oleibman 4b655ea5a8 Php-cs-fixer Command Change
PR #3852 was a bit strange. Php-cs-fixer complained about a problem that I could not reproduce on my local system, and it didn't really produce sufficient output to correct whatever the problem was. I was able to guess it eventually, but I need to see if there's a way to get it to be more forthcoming.
2024-01-01 23:02:44 -08:00
oleibman c770f692b8 Merge pull request #3852 from oleibman/updatefixer
Php-cs-fixer Upgrade
2024-01-02 05:53:02 +00:00
oleibman b01031d62b Merge branch 'master' into updatefixer 2024-01-01 21:50:09 -08:00
oleibman 8e1c265d39 Another Theory
Still unable to duplicate php-cs-fixer problem.
2024-01-01 21:29:51 -08:00
oleibman c5f78a4194 Guesswork
Unable to duplicate php-cs-fixer problem. Maybe this will work.
2024-01-01 21:13:18 -08:00
oleibman d164ad2211 Php-cs-fixer Upgrade
It generates a number of new easily-remedied messages.
2024-01-01 20:21:03 -08:00
oleibman 04d125c115 Merge pull request #3851 from PHPOffice/dependabot/composer/phpunit/phpunit-9.6.15
Bump phpunit/phpunit from 9.6.14 to 9.6.15
2024-01-01 20:03:19 +00:00
oleibman 461ed440e4 Merge pull request #3849 from PHPOffice/dependabot/composer/squizlabs/php_codesniffer-3.8.0
Bump squizlabs/php_codesniffer from 3.7.2 to 3.8.0
2024-01-01 20:02:11 +00:00
oleibman f35bdc1d36 Merge pull request #3848 from PHPOffice/dependabot/composer/phpstan/phpstan-1.10.50
Bump phpstan/phpstan from 1.10.46 to 1.10.50
2024-01-01 19:49:39 +00:00
dependabot[bot] f84f36706d Bump phpunit/phpunit from 9.6.14 to 9.6.15
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.14 to 9.6.15.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.15/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.14...9.6.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 11:09:35 +00:00
dependabot[bot] ced2bd8ed4 Bump squizlabs/php_codesniffer from 3.7.2 to 3.8.0
Bumps [squizlabs/php_codesniffer](https://github.com/squizlabs/PHP_CodeSniffer) from 3.7.2 to 3.8.0.
- [Release notes](https://github.com/squizlabs/PHP_CodeSniffer/releases)
- [Commits](https://github.com/squizlabs/PHP_CodeSniffer/commits)

---
updated-dependencies:
- dependency-name: squizlabs/php_codesniffer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 11:09:20 +00:00
dependabot[bot] 5b88b8c03a Bump phpstan/phpstan from 1.10.46 to 1.10.50
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.46 to 1.10.50.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.46...1.10.50)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 11:09:13 +00:00
oleibman 0beac682e4 Merge pull request #3846 from oleibman/issue3843
Do Not Include Unparsed Loaded Drawings When Drawing is Added
2023-12-31 16:26:51 +00:00
oleibman dca478b5d5 Update CHANGELOG.md 2023-12-31 08:03:47 -08:00
oleibman 26b9b68a54 Merge branch 'master' into issue3843 2023-12-31 07:53:41 -08:00
oleibman dbb560a923 Do Not Include Unparsed Loaded Drawings When Drawing is Added
Fix #3843. Spreadsheet XML had a lingering Xml drawing tag despite having no drawings. When a new drawing was added, PhpSpreadsheet became confused about which drawings to keep. This PR ensures that it keeps the new and drops the old.
2023-12-28 22:32:09 -08:00
oleibman 970884f948 Merge pull request #3845 from oleibman/htmllongtitle
Html Reader Tolerate Invalid Sheet Title
2023-12-28 02:44:26 +00:00
oleibman f76016f02b Win For Scrutinizer!
Test was miscoded.
2023-12-27 18:32:00 -08:00
oleibman 68dec61e4a Html Reader Tolerate Invalid Sheet Title
There are different rules for Title between Excel and Html, in particular maximum length and which characters are valid. Html Reader can throw an exception because of this difference. This PR allows it to tolerate an invalid title, retaining the default title if the Html suggests an invalid one.
2023-12-27 18:13:55 -08:00
oleibman a17a56b6e0 Merge pull request #3841 from oleibman/freezeselected
Problems With Panes
2023-12-26 15:40:38 +00:00
oleibman 5cfb7b3a4c Merge branch 'master' into freezeselected 2023-12-26 06:37:09 -08:00
oleibman fb796003ff Merge pull request #3839 from oleibman/sorttoarray
Improved Performance for `toArray`
2023-12-23 16:21:28 +00:00
oleibman d78146fede Update CHANGELOG.md 2023-12-23 08:11:47 -08:00
oleibman 168f9adfc0 Merge branch 'master' into sorttoarray 2023-12-23 07:23:03 -08:00
oleibman 421a15a085 Problems With Panes
These glitches were probably due to PR #3622.
- Excel may not properly identify the selected cell on a sheet if freeze panes is in effect, even though the Xml points to the correct pane and the correct selected cell is specified for that pane.
- Worksheet::calculateColumnWidths may alter activePane.
2023-12-22 20:14:09 -08:00
oleibman 351625a832 Merge pull request #3836 from oleibman/issue3883
Chart Axis Display Units and Logarithmic Scale
2023-12-22 16:04:30 +00:00
oleibman 2159636e81 Merge branch 'master' into issue3883 2023-12-22 07:53:15 -08:00
oleibman bebb278e72 Minor Performance Improvement
Change `getCellCollection()` calls to access `cellCollection` directly.
2023-12-21 07:49:32 -08:00
oleibman 096e193495 Improved Performance for toArray
There are severe inefficiencies in `toArray` (or, to be more precise, `rangeToArray`, which toArray calls). For small ranges, the inefficiencies hardly matter, and, for large ranges, the code was likely to exhaust memory before the execution speed mattered. But, with PR #3834 now merged into the codebase, the memory problem is much lessened, and there is now merit in looking into performance.

The code currently accesses each cell in the range. This PR changes it to access only cells which have been initialized - fewer cells processed, and many fewer function calls for those that are. For ranges which are densely filled, there will be little difference. However, for ranges which are lightly filled (a very common occurrence in issues which are raised for this project), the effect will be staggering. The sample file which accompanied 3834 saw an enormous reduction in memory consumption from 20GB to 32MB when toArray was used on it. The same file still took well over an hour to process even after the merge; after this PR, it is processed in approximately a second.

While testing this change, it became apparent that Collection/Cells does not handle column XFD (highest allowed) correctly. That is corrected and new tests added.
2023-12-20 22:47:10 -08:00
oleibman 9f87d7c8e6 Merge pull request #3834 from sj-i/dedupe-null-rows
Reduce memory consumption of Worksheet::rangeToArray() when many empty rows are read
2023-12-21 00:44:12 +00:00
oleibman 34863104b3 Chart Axis Display Units and Logarithmic Scale
Fix #3833. Among the options for chart axes in Excel are the ability to show labels as multiples of specific powers of 10, with or without an explanatory label. The Excel spec seems to indicate that that you can customize the multiples to other values, but I don't see how to do that in Excel, so that can be a project for another day if someone figures out how. The label title can also be styled; that is not part of this PR, but I will look into it in future. For now, this PR supports the use of multiples with or without labels.

The axes can also be displayed on a logarithmic scale (any base between 2 and 1000). This PR supports that.
2023-12-19 22:34:35 -08:00
sji a034ab8989 Update CHANGELOG.md 2023-12-19 23:32:31 +09:00
sji 98ab75da99 Reduce memory consumption of Worksheet::rangeToArray() when many empty rows are read 2023-12-19 18:00:37 +09:00
oleibman c9ef889b16 Merge pull request #3832 from oleibman/findfont2
Addendum to Shared Font
2023-12-18 19:10:35 +00:00
oleibman 58ea5b5dcf Addendum to Shared Font
Forgot a couple of lines I intended to include.
2023-12-18 10:42:17 -08:00
oleibman 6f84f41ee6 Merge pull request #3830 from oleibman/issue2809
Recurse Directories Searching for Font File
2023-12-18 16:58:42 +00:00
oleibman 551d69c874 Update Font.php
Specified wrong constant for RecursiveIteratorIterator
2023-12-18 08:18:03 -08:00
oleibman 722600c8dc Update CHANGELOG.md 2023-12-18 08:05:00 -08:00
oleibman 7a4dd2d954 Merge branch 'master' into issue2809 2023-12-18 07:48:37 -08:00
oleibman 4e7a1487f9 Merge pull request #3828 from oleibman/issue3819
Strip `_xlfn.` and `_xlws.` In Formula Translations
2023-12-16 15:49:47 +00:00
oleibman 03da55cd8f Merge branch 'master' into issue3819 2023-12-16 07:20:22 -08:00
oleibman 25b3e1ca4a Minor Doc Block Improvement 2023-12-15 18:30:15 -08:00
oleibman 5a418ea1fb Recurse Directories Searching for Font File
Fix #2809. User felt font files should be searched recursively. The problem could be overcome merely by specifying a more precise font location. However, user has a point - the file layout on user's system is pretty common, and can be integrated into PhpSpreadsheet code easily. As a bonus, the DocBlock for setTrueTypeFontPath, which the user felt was misleading, doesn't even have to change.
2023-12-15 17:30:08 -08:00
oleibman c4da79e09a Ignore Coverage of Deprecated Functions 2023-12-15 08:18:35 -08:00
oleibman b6aa45659c Slightly Improved Regex
Use lookahead assertion to find xlfn/xlws only when preceding function name.
2023-12-15 02:21:41 -08:00
oleibman 3009873c44 Fix PR Number in Change Log 2023-12-14 13:49:01 -08:00
oleibman 5b7fce9286 Strip _xlfn. and _xlfs. In Formula Translations
Fix #3819. Excel can add these prefixes (basically invisible to end-user). Formula translation in PhpSpreadsheet fails when dealing with these unexpected prefixes, and, even if it handled it correctly, the unexpected prefixes confuse the users. I have changed to strip those prefixes when translating to a locale. This is probably not perfect, but is almost certainly good enough. I could easily add the same change when translating from a locale to English, but I don't think there's a good use case for that, so am opting not to do so for now.

The documentation mentions `translateFormulaToLocale` and `translateFormulaToEnglish`. Neither of these exist; both names are preceded by an underscore. I have changed the code to match the documentation rather than vice versa, retaining deprecated versions of the underscored routines which merely invoke the non-underscored routines.
2023-12-14 13:29:30 -08:00