Einar Lielmanis
b05d07a365
Chained operations on cell ranges involving borders are now possible
...
Fixes #428
Fixes #578
2018-07-15 12:19:54 +09:00
Rolands Usāns
eb31899225
Function EXACT(arg1, arg2) support ( #595 )
2018-07-15 11:56:25 +09:00
Andrew Siegman
043327bb7d
Exclude the vendor folder in migration
...
Fixes #481
Fixes #586
2018-07-08 13:35:40 +09:00
Vladimir Reznichenko
e0ed25d6b2
Php Inspections (EA Extended): minor code tweaks ( #579 )
2018-07-04 23:55:33 +09:00
Adrien Crivelli
9fdcaabe3c
Could not open CSV file containing HTML fragment
...
We now always trust the file extension to avoid false positive of mime
detection for most simple cases. But we still try to guess the mime type
if the file extension does not match or is missing.
Fixes #564
2018-06-25 11:12:27 +09:00
Bill Blume
edb68ce05c
Support workbook view attributes for Xlsx format
...
Editing a Xlsx document using PhpSpreadsheet should preserve the workbook
view attributes of that document. For example, if the worksheet tabs are
hidden in the original document, they should remain hidden after updating.
Fixes #523
Fixes #525
2018-06-24 20:15:38 +09:00
Derek Bonner
7a4cbd4fd5
Cell formats with escaped spaces were causing incorrect date formatting
...
Fix issue where escaped spaces in cell format would cause incorrect
date format leading to incorrect time conversions
Fixes #557
Closes #558
2018-06-24 19:35:45 +09:00
Mewes Kochheim
a6bb491539
Fixed method call (setRevisionPassword -> setRevisionsPassword)
...
Fixes #553
2018-06-18 13:47:58 +09:00
Adrien Crivelli
371c800e3f
Ranges across Z and AA columns incorrectly threw an exception
...
Fixes #545
2018-06-11 22:54:11 +09:00
Bill Blume
4c09d4f668
Properly set selected cells for frozen panes
...
Properly set the selected cells for worksheets with frozen panes when
writing Xlsx documents. Beforehand, the saved Xlsx documents were
generating corruption warnings when opened in Excel.
Fixes #532
Closes #535
2018-06-10 14:56:53 +09:00
Bill Blume
e3fb160f5f
Fixed parsing of conditionals in COUNTIF functions
...
Conditional operators in the selection parameter of COUNTIF
functions were not being parsed properly, causing evaluations
of formulae with such functions to sometimes fail.
Fixes #526
Closes #528
2018-06-10 14:25:33 +09:00
Robin D'Arcy
ed2185417e
Throw exception for invalid range to prevent infinite loop
...
Fixes #519
Closes #521
2018-06-10 13:34:10 +09:00
Toni Martí
b700614f0d
Make newer Excel versions properly recalculate formulas on document open
...
Fixes #456
Closes #515
2018-06-10 12:57:25 +09:00
KoenigsKind
dcc1832215
In PHP7 required parameters must be set
...
Closes #486
2018-05-26 14:31:34 +09:00
Dominik
b509b672e0
Xlsx reader do not read rows and columns filtered out in readFilter at all
...
Set rows and columns dimensions for only cells rows and columns
allowed by readfilter
Fixes #370
Closes #421
2018-05-26 13:30:21 +09:00
Dominik
7e9f43bf5b
Fix Xlsx loaded an extra empty comment for each real comment
...
Fixes #375
Closes #420
2018-05-26 11:19:12 +09:00
Robin D'Arcy
c723833d6f
Allow CSV escape character to be set
...
Fixes #492
Closes #510
2018-05-23 10:31:41 +09:00
Jean Baptiste Noblot
0c7df7721b
Fix times and power in Shared/JAMA/Matrix
...
I add $args in count line 1
2018-05-21 18:28:48 +09:00
Jean Baptiste Noblot
37669270f5
Fix PHPDocs Shared/Trend/BestFit
2018-05-21 18:27:02 +09:00
Jean Baptiste Noblot
b8f9b6ada7
Fix PHPDocs in Chart/DateSeries
...
Wrong return type make PHPStorm Inspect Code not happy
2018-05-21 18:05:14 +09:00
Jean Baptiste Noblot
92633a84d8
Fix Documentation in Shared/Date
2018-05-21 18:03:41 +09:00
Adrien Crivelli
148909300c
Helper\Html
support UTF-8 HTML input
...
Assume UTF-8 encoding. Not assuming UTF-8 would mangle text such as "русский"
Fixes #444
2018-05-20 19:52:53 +09:00
Adrien Crivelli
38638268d8
Fix code style
2018-05-13 11:23:10 +09:00
Adrien Crivelli
eda1c8a4d6
Fix spacing according to Scrutinizer
2018-05-12 22:02:46 +09:00
Adrien Crivelli
d7751afbec
Fix tests on PHP 5.6
2018-05-12 22:00:29 +09:00
Chris Wild
275c35c877
Expose sheet title maximum length as Worksheet::SHEET_TITLE_MAXIMUM_LENGTH
...
Closes #482
2018-05-12 21:27:39 +09:00
Maxim Bulygin
83c759e951
Support to read and write unsupported data for XLSX
...
This will let users read a file that contains data that are not properly
supported and write them back to a new file untouched.
- load workbookProtection attributes
- save loaded pageSetup[r:id]
- save loaded sheet's AlternateContent
- save loaded unparsed VmlDrawings
- save loaded drawing files `rId`
- save loaded draw's AlternateContent
- save loaded control properties
- save loaded printer settings
- save loaded unparsed override content types (for ctrlProp, ...)
Closes #435
2018-05-12 11:47:46 +09:00
Adrien Crivelli
064076ac6d
Fix unit tests for PHP 5.6
2018-05-07 11:53:55 +09:00
MarkBaker
bbe11eed37
Full unit tests for SUBTOTAL function
2018-05-06 23:43:02 +01:00
MarkBaker
f08eeaa2ed
Code works, but the tests don't yet
2018-04-21 20:34:25 +01:00
MarkBaker
36afa01d33
SUBTOTAL within a SUBTOAL range should be ignored
2018-04-21 01:33:26 +01:00
MarkBaker
04b4e74ec7
Basic unit testing for 100 series actions for SUBTOTAL() with hidden rows/columns
2018-04-20 07:24:11 +01:00
MarkBaker
1ece540254
Basic unit test for SUBTOTAL() function
2018-04-19 22:44:23 +01:00
MarkBaker
df34b15079
Apply filter check on cells that already contain a subtotal calculation... will add unit tests later
2018-04-13 12:24:54 +01:00
Gints Murāns
e5e8be26d5
Plain text and richtext mixed in same cell can be read
...
This was introduced in 0084776160
Fixes #442
Closes #453
2018-04-09 10:56:52 +09:00
Adrien Crivelli
ce4b864e01
Minor typo
2018-03-06 08:41:40 +01:00
Adrien Crivelli
6e2447d933
setStrikethrough()
did not set the font
...
Fixes #403
2018-03-04 21:39:32 +01:00
Tony Brix
bdc95b14bf
Select correct cell when calling freezePane
...
Fixes a bug when calling `$sheet->freezePane('B2')` without a second argument.
The selected cell will now be `B2` instead of the incorrect `B3`.
Fixes #389
Closes #393
2018-03-03 16:48:30 +01:00
Josh Grant
a089a87671
Avoid losing calculated value type
...
Closes #394
2018-03-03 11:51:06 +01:00
Josh Grant
148bee1991
Support _xlfn.
prefix and add ISFORMULA
, MODE.SNGL
, STDEV.S
, STDEV.P
...
This change adds support for newer functions that are prefixed
by _xlfn. (#356 ). The calculation engine has been updated to
recognise these as functions, and drop the _xlfn. part.
It also add a couple of the new functions such as STDEV.S/P,
MODE.SNGL, ISFORMULA.
Fixes #356
Closes #390
2018-02-26 09:35:53 +01:00
Adrien Crivelli
1adc3a6688
Read printing area correctly when skipping some sheets
...
Fixes #371
2018-02-25 19:40:11 +01:00
Adrien Crivelli
f58724ae0b
Fix code style
2018-02-25 13:58:42 +01:00
luciferfran
ae1ec5f2cf
Use proper € symbol for currency format
...
This also place the symbol after the figure as it is by far the most
common usage according to https://en.wikipedia.org/wiki/Language_and_the_euro#Summary
Closes #379
2018-02-25 13:51:47 +01:00
Paul Klimov
eb612157dd
array short syntax in documentaiton ( #373 )
2018-02-25 13:16:04 +01:00
Claudio Zizza
0084776160
Remove Scrutinizer failure condition
...
Previous commits introduced failure conditions in Scrutinizer,
which dropped the index of Xlsx reader drasticly.
2018-02-20 17:35:30 +09:00
Adrien Crivelli
349e4452e7
Fix a few docblocks
2018-02-12 12:09:35 +09:00
Jan-Sverre Riksfjord
2e37578971
Fix zoom scale problems on reading bad xlsx files
...
Some computer programs will output xlsx files that do not compare 100%
to the standards. Excel will open the file without any problem.
setZoomScaleNormal() should throw exception when manually setting the
scale to less than or equals 0, but when reading files, we should
be able to read a file with such error, as Excel does.
Closes #350
2018-02-11 14:50:07 +09:00
Chris Wild
608a2edba7
HTML writer creates a generator meta tag
...
Fixes #312
Closes #362
2018-02-11 14:34:38 +09:00
Toha
38b90715e2
Fix formula string truncated at the end.
...
Wrong use of substr() in commit 453f8f1821
makes
formula string truncated at the end.
Signed-off-by: Toha <tohenk@yahoo.com>
2018-02-08 12:45:41 +09:00
Adrien Crivelli
02e176197a
Code style
2018-02-05 21:48:47 +09:00
Adrien Crivelli
e31878ceb1
Check for MIME type to know if CSV reader can read a file
...
CSV reader used to accept any file without any kind of check. That made
users incorrectly believe that things were ok, even though there is no
way for CSV reader to read anything else that plain text files.
Fixes #167
2018-02-05 21:33:23 +09:00
Adrien Crivelli
de7758f9b6
Avoid potentially unsupported PSR-16 cache keys
...
Ensure compatibility with all PSR-16 cache implementation by using
a stricter character set for cache key that match the spec.
Fixes #354
2018-02-01 21:27:36 +09:00
Adrien Crivelli
d2f55ffa07
Support PHP 7.2
2018-01-28 16:23:38 +09:00
Adrien Crivelli
c96e2dae02
Update to PHP-CS-Fixer 2.10
2018-01-28 15:59:38 +09:00
Adrien Crivelli
015c83ccf4
Fix a few docblocks
2018-01-28 15:26:42 +09:00
MaxTingle
49775bd972
Fix cell ranges causing coordinate merge error
...
Fixes #319
Closes #328
2018-01-22 12:26:37 +09:00
Michael Bollman
4e0344c3af
Use line width for data series when rendering Xlsx
...
Closes #329
2018-01-22 11:50:53 +09:00
Gabriel Caruso
257c3eca58
Simplify returns
2018-01-17 12:42:54 +09:00
Adrien Crivelli
481fc4a7c6
Support XML file without styles
...
Closes #331
Closes https://github.com/PHPOffice/PHPExcel/pull/559
Fixes https://github.com/PHPOffice/PHPExcel/issues/558
2018-01-14 17:08:50 +09:00
Adrien Crivelli
bf2dbbaf10
COLUMNS and ROWS functions crashed in some cases
...
Fixes #336
Fixes https://github.com/PHPOffice/PHPExcel/issues/1383
2018-01-13 18:01:50 +09:00
Adrien Crivelli
4635d39b4a
PHP 7.2 compatibility
2018-01-09 14:26:59 +09:00
Adrien Crivelli
25bc54f9eb
Freeze Panes takes wrong coordinates for XLSX
...
Fixes #322
2018-01-09 00:42:30 +09:00
Steffen Breiler
653adf8e10
Adding option to stop at a conditional styling, if it matches
...
This would be used like `$conditonal->setStopIfTrue()` and is only supported
for XLSX format for now.
Closes #292
2018-01-07 22:45:51 +09:00
Christoph "criztovyl" Schulz
cdbf3347cb
Support for cell comments in HTML writer and reader
...
The behavior is similar to what is done in LibreOffice. That means if there is a
comment it will be shown with a small indicator and the actual comment will be
revealed when mouse hover over the indicator.
Fixes #308
Closes #310
2018-01-07 21:51:48 +09:00
Adrien Crivelli
98e0a97139
Typo in documentation
...
Closes #315
2018-01-04 13:34:25 +09:00
Adrien Crivelli
a504a39474
Fix PHPDoc blocks
...
Closes #314
2018-01-04 02:02:41 +09:00
Adrien Crivelli
ca6114639a
Support for shape style ending with ;
...
Valid CSS style can end with `;` and that is the case for some 3rd party
software such as WPS Office.
Closes #304
2017-12-28 12:36:57 +09:00
Adrien Crivelli
139d85d874
Better auto-detection of CSV separators
...
Closes #305
2017-12-28 12:25:37 +09:00
Adrien Crivelli
ac1c7a2c7d
Fix a few phpdoc blocks
2017-12-27 22:20:47 +09:00
Adrien Crivelli
fff3630780
Support migration of prefixed classes
2017-12-25 10:49:14 +09:00
Adrien Crivelli
fb5f8d4763
Support DateTimeImmutable as cell value
2017-12-23 21:50:07 +09:00
Adrien Crivelli
1dfd4dbeb9
Date format compatible with both LibreOffice and Excel
...
Date formats used invalid single `y`, instead of double `yy`.
That was was implicitly fixed and displayed correctly by Excel. But
LibreOffice does not implicitly fix it and instead display the literal `y`
instead of th year value.
See also: https://support.office.com/en-us/article/Format-numbers-as-dates-or-times-418bd3fe-0577-47c8-8caa-b4d30c528309
Fixes #298
2017-12-23 18:28:56 +09:00
Adrien Crivelli
d9bd45f4f1
Fix unit tests
2017-12-23 14:59:23 +09:00
Adrien Crivelli
80e46707aa
Fix code style
2017-12-23 14:40:51 +09:00
Alessandro Lai
453f8f1821
Simplify substr usages
2017-12-23 14:37:04 +09:00
Alessandro Lai
30ec11c7fa
Optimize regex using \d
2017-12-23 14:36:08 +09:00
Alessandro Lai
cfc325ab57
Fix PHPDoc to avoid erroneous warning in IDE
2017-12-23 14:35:13 +09:00
Alessandro Lai
5bdb3ba210
Simplify return statement
2017-12-23 14:34:49 +09:00
Alessandro Lai
b77352f153
Add regex delimiter for proper escaping
2017-12-23 14:33:50 +09:00
Alessandro Lai
b5057f44b1
Avoid race condition
2017-12-23 14:32:27 +09:00
Alessandro Lai
a653e09bf0
Remove duplicated code and call parent methods where possible
2017-12-23 14:28:28 +09:00
Alessandro Lai
f246ad731d
Remove redundant function calls in for loops
2017-12-23 14:22:21 +09:00
Adrien Cohen
11b055b29f
Able to set the topLeftCell
in freeze panes
...
Fixes #260
Closes #261
2017-12-17 13:32:16 +09:00
Adrien Crivelli
eb58563b4b
Written DataValidation was corrupted
...
Fixes #290
2017-12-16 17:15:13 +09:00
Adrien Crivelli
a204e0c7ec
Constant TYPE_DOUGHTNUTCHART
is now TYPE_DOUGHNUTCHART
2017-12-13 19:54:25 +09:00
Adrien Crivelli
96f3f666d6
Support to write merged cells in ODS format
...
Fixes #287
2017-12-11 12:17:40 +09:00
Adrien Crivelli
962367c95f
Can read very small HTML files
...
Fixes #194
2017-12-11 11:09:25 +09:00
Adrien Crivelli
812a468844
New method evaluateGCD()
should stay private
2017-12-03 17:20:45 +09:00
MarkBaker
90366f9dd1
style fixes
2017-11-26 23:18:11 +00:00
MarkBaker
19fd27811d
Improved GCD() evaluation and additional tests
2017-11-26 22:13:29 +00:00
Adrien Crivelli
8d76020590
Consistent stringFromColumnIndex()
and columnIndexFromString()
...
Column indexes are always based on 1 everywhere in PhpSpreadsheet.
This is consistent with rows starting at 1, as well as Excel
function `COLUMN()`. It should also make it easier to reason about
columns and rows and remove any doubts whether a specific method is
expecting 0 based or 1 based indexes.
Fixes #273
Fixes https://github.com/PHPOffice/PHPExcel/issues/307
Fixes https://github.com/PHPOffice/PHPExcel/issues/476
2017-11-26 15:29:08 +09:00
Adrien Crivelli
e0150fd43e
Extract coordinate methods to Coordinate
class
2017-11-18 23:52:38 +09:00
Maxim Bulygin
442e612202
Support custom PDF library instances or configurations
...
This allow to create and configure the standard instance of the
external PDF libary, before returning it to the standard writer.
Or, more powerful, this allow to provide a custom implementation
of the external PDF library, allowing for custom behaviors. An
example of that would something like: https://tcpdf.org/examples/example_003/
Closes #266
2017-11-04 16:01:09 +09:00
anton-harvey
f7518dadc9
Return false if the zip entry could not be located
...
Previously the function did not check whether the return value of `ZipArchive::locateName`
was `false`. And when it was, it was passed straight into `ZipArchive::getFromIndex`,
which casts it to an integer, resulting in it incorrectly retrieving the entry at index `0`.
Fixes #262
Closes #268
2017-11-02 15:42:45 +09:00
Adrien Crivelli
8183c71e78
Remove duplicated declarations of interface implementation
2017-10-31 19:58:46 +09:00
Maxim Bulygin
6561494e32
Add possibility to check validity of a cell value, based on data validation rules
...
`$cell->hasValidValue()` returns true if the cell has a value which conform to the
rules defined in `$cell->getDataValidation()`.
Closes #257
2017-10-31 14:07:24 +09:00
Adrien Crivelli
8d23bda3dd
Fix Scrutinizer issues
2017-10-29 23:34:00 +09:00
Adrien Crivelli
557e80dc03
Rename classes to keep them in their related namespaces
2017-10-29 17:39:42 +09:00
Adrien Crivelli
3982ce2944
Remove unused variables and parameters
2017-10-29 14:09:38 +09:00
Adrien Crivelli
782b4e4fae
Upgrade chart rendering support to be composer based
...
This allow to get rid of manual class loading and have simpler
usage of the library.
2017-10-29 01:58:42 +09:00