GreatHumorist
699da09176
Fix time format for duration was incorrect
...
When using format `[h]:mm` it should convert to the "total hours:minutes"
Closes #666
Fixes #664
Fixes #446
Fixes #342
2019-01-02 13:17:52 +11:00
Kirill Petrov
39b573b29d
Fix infinite loop when reading invalid ODS files
...
According to the spec, http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1415588_253892949 ,
a `<table:table-row>` can only ever contains a `<table:table-cell>` or
a `<table:covered-table-cell>`, but it seems that some invalid files in the wild
may contains something else. That would trigger an infinite loop. So instead we
totally ignore the invalid content.
Closes #832
2019-01-02 12:16:41 +11:00
Mahmoud Abdo
86c635b3f5
Fix color from CSS when reading from HTML
...
In case we generate Spreadsheet from html file and the code
in file have text color in css "color:#FF00FF" it will showing
as black color because it will render like rgb content with } "FF00FF}"
So, we fix it by adding missing bracket "{".
Closes #831
2019-01-02 11:57:30 +11:00
Matt Allan
0f8292fc0b
Use gt operator instead of max for highest row
...
Using an operator is significantly faster than calling the max function.
As this method is called more than once per cell the difference adds up.
Closes #824
2019-01-02 11:09:55 +11:00
Matt Allan
ff6f4f4ec0
Remove duplicate strtoupper
...
Removing the duplicate strtoupper call has a meaningful impact on
performance since this method is called at least once per cell.
`Worksheet::getCells` currently calls `strtoupper` twice. `strtoupper`
is kind of expensive and this method is called at least once for every
cell in the spreadsheet. By removing the unnecessary second call the
runtime decreases by 18% when importing a ~100K cell spreadsheet.
Closes #825
2019-01-01 17:54:55 +11:00
Adrien Crivelli
e8c25c33cd
Fix unit tests for 2019
2019-01-01 17:48:07 +11:00
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