Matt Allan
f28289f92a
Use a generator for Cells::getAllCacheKeys
...
Using a generator reduces memory usage and improves performance
when loading large spreadsheets.
Closes #822
2019-01-01 17:38:07 +11:00
Philipp Kolesnikov
8918888e7c
libxml_disable_entity_loader() changes global state so it should be used as local as possible
...
Fixes #801
Closes #802
Closes #803
2019-01-01 17:25:24 +11:00
Paolo
6a48b505b6
Support COUNTIFS multiple arguments
...
Because Excel COUNTIFS function can have more than 2 arguments.
Closes #830
2019-01-01 16:38:45 +11:00
MarkBaker
50ed769b38
Revert accidental PHP version update to develop branch
2018-12-28 22:31:14 +01:00
MarkBaker
8c99d9d8c0
Update to minimum PHP version of 7.0, and use as a new baseline development branch for PHPSpreadsheet version 2 development
2018-12-28 22:11:35 +01:00
Fräntz Miccoli
294ba58dde
Exact match in VLOOKUP now returns first match
...
It was inconsistent with spreadsheet software before.
Closes #809
2018-12-15 17:42:07 +11:00
Fräntz Miccoli
db2621c4fe
Add tests for the LOOKUP function
...
We were performing operations to patch for missing $result_vector
even when one was defined, this was causing bugs on edge cases.
Fixes #796
Closes #816
2018-12-15 16:23:45 +11:00
Christian Stoller
f0e69408ca
Extended the docblock of Style::applyFromArray with example for alignment styling
2018-12-10 20:24:29 +11:00
Mehdi Chaouch
942a78a0a0
Add further new Functions introduced in MS Excel 2016
2018-12-10 20:18:35 +11:00
Dennis Birkholz
e56fbe2745
Fix column names if read filter calls in XLSX reader skip columns
...
Fixes #777
Closes #778
2018-12-10 20:00:26 +11:00
Gabriel Caruso
dfa808a955
Simplify some conditions and ternary expressions
2018-12-10 18:54:51 +11:00
Krzysztof Ruszczynski
12bf085c57
Custom color for pie and donut charts
...
This is an follow-up for #158
Fixes #768
2018-12-10 18:43:55 +11:00
Adrien Crivelli
00003fbe68
Merge branch 'master' into develop
2018-12-10 18:10:37 +11:00
Adrien Crivelli
153186e897
Remove deprecated sudo from Travis
2018-12-05 09:29:31 +11:00
MarkBaker
501f5722be
Changelog
2018-11-29 22:52:48 +01:00
Dennis Birkholz
95c41da020
Cache readFilter access and skip inner loops for empty/default readFilter ( #773 )
...
For large XLSX files `Reader/Xlsx::readColumnsAndRowsAttributes()` performs
a lot of calls to `$this->getReadFilter()` and `$this->getReadFilter()->readCell()`
as `readCell()` is called twice for each (possibbly filled) cell.
By ignoring calls to the DefaultReadFilter implementation (which always returns true),
using no custom read filter will not incur any runtime penalty.
The runtime penaltiy when using a custom read filter is reduced by a third by
caching the read filter into a variable instead of using the getter method.
Fixes issue #772 .
2018-11-29 22:50:48 +01:00
Mark Baker
a5eb64c77f
Matrix ( #790 )
...
* Refactor Excel Matrix functions to use external Matrix library rather than JAMA
2018-11-29 22:25:31 +01:00
MarkBaker
cd60531c44
Improvements to the design of the XML Security Scanner
2018-11-25 18:40:15 +01:00
MarkBaker
b6a73aec56
Improvements to the design of the XML Security Scanner
2018-11-25 18:39:05 +01:00
MarkBaker
3abb7ccb35
CS Complaining about not uisng $this->assertInternalType('object', $scanner);
2018-11-25 14:41:11 +01:00
MarkBaker
14159d985c
Coding standards
2018-11-25 14:33:01 +01:00
MarkBaker
c1d0784ad7
Namespace security scanner in Html Reader
2018-11-25 14:18:09 +01:00
MarkBaker
41bcf9a21c
Support for additional callback in XML Security Scanner
2018-11-25 14:00:35 +01:00
MarkBaker
c708411529
Refactor scanner into base reader class
2018-11-25 12:14:54 +01:00
MarkBaker
aba41f6495
Yet more Coding standards fixes
2018-11-23 23:27:19 +01:00
MarkBaker
6d3d44359d
Coding standards
2018-11-23 23:18:49 +01:00
MarkBaker
abad49d426
Use factory for XMLcanner
2018-11-23 23:05:17 +01:00
MarkBaker
dff1151369
Merge branch 'develop' into xxe
2018-11-23 19:40:50 +01:00
MarkBaker
f5d1f03e94
Update Changelog
2018-11-20 20:57:38 +01:00
MarkBaker
7f46932b2f
Update Changelog
2018-11-20 20:51:42 +01:00
Mark Baker
0f8f071e24
WIP: Xxe ( #780 )
...
Changes to the xml security scanner to use libxml_disable_entity_loader() when cleanly supported and thread-safe, and to handle UTF-7 charset which otherwise permits an XXE exploit
2018-11-20 20:39:13 +01:00
MarkBaker
9c1a201ace
Fix docblock typo
2018-11-20 19:51:09 +01:00
MarkBaker
f02898e14d
Don't rely purely on libxml_disable_entity_loader()
2018-11-20 18:40:09 +01:00
MarkBaker
1f4cb1f19a
Corrections to XmlScanner version check logic, and (hopefully) fix the lock issue
2018-11-20 18:24:53 +01:00
Adrien Crivelli
e4be53888f
Update src/PhpSpreadsheet/Reader/Security/XmlScanner.php
...
Co-Authored-By: MarkBaker <mark@lange.demon.co.uk>
2018-11-20 11:46:09 +01:00
Adrien Crivelli
7f4a6e37b1
Update src/PhpSpreadsheet/Reader/Security/XmlScanner.php
...
Co-Authored-By: MarkBaker <mark@lange.demon.co.uk>
2018-11-20 11:46:01 +01:00
MarkBaker
5854ce3738
phpcs cleanup
2018-11-20 08:18:35 +01:00
MarkBaker
0a9e15ca69
srsly?!? phpcs is enforcing alphabetic order of use clauses now?
2018-11-19 23:42:05 +01:00
MarkBaker
7a06d71e1c
Add UTF-7 XXE Unit test data
2018-11-19 23:22:59 +01:00
MarkBaker
a4d97ba896
Clean handle charset in XXE scanner
2018-11-19 22:47:34 +01:00
Guillaume RODRIGUEZ
3bea6f516b
Fix index overflow on data values array
...
Fix index overflow on data values array for multi level detection.
Fixes #747
Fixes #748
2018-11-11 21:43:44 +11:00
Adrien Crivelli
e4ffeb4f0f
Move feature in correct section
2018-11-11 21:39:19 +11:00
Albert Scherman
31e25ad14b
Support page margin in mPDF
...
Fixes #750
Fixes #751
2018-11-11 21:30:00 +11:00
Gabriel Caruso
f42adb0daf
Simplify some conditions and ternary expressions
2018-11-11 18:25:51 +11:00
Adrien Crivelli
2fce5c4706
Update PHP dependencies to fix security issues
...
This fix CVE-2013-5958 and also
1861e33fe0
2018-11-11 18:21:31 +11:00
Gabriel Caruso
b3877e59e4
Use dedicated PHPUnit assertions
2018-11-11 18:06:35 +11:00
Danielle McLean
6703624223
Write generated HTML into Mpdf in chunks, rather than as one gigantic string
...
Due to a limitation in Mpdf, the HTML string passed to its WriteHTML method
must not exceed a particular length. PhpSpreadsheet produces one HTML string
containing all spreadsheet data when writing to HTML, which can easily exceed
Mpdf's size limit. Thus, it was impossible to write large spreadsheets to PDF
using the Mpdf writer - this change fixes that issue.
Fixes #637
Fixes #706
2018-11-03 18:37:47 +11:00
Milan Davídek
3be06a5e87
Support overriding `DefaultValueBinder::dataTypeForValue()`
...
This allow to avoid overriding `DefaultValueBinder::bindValue()`
Fixes #735
2018-11-03 17:25:43 +11:00
Guillaume RODRIGUEZ
fdc224af7c
Fix print area parser for XLSX reader
...
XLSX workbook references may not contains quotes in print area
Fixes #733
Fixes #734
2018-10-28 14:37:05 +11:00
Laurent
79d86ef5cc
Csv reader avoid notice when the file is empty
...
Fixes #337
2018-10-28 14:16:53 +11:00