Commit Graph

214 Commits

Author SHA1 Message Date
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
MarkBaker
216cbadd8c Issue 332 Changelog 2018-05-06 23:51:39 +01:00
Adrien Crivelli
36acc37287
1.2.1 2018-04-10 12:53:16 +09: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
8380fb3ad2
1.2.0 2018-03-04 21:41:15 +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
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
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
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
a2771e562e
1.1.0
- Support for PHP 7.2
- Support cell comments in HTML writer and reader - [#308](https://github.com/PHPOffice/PhpSpreadsheet/issues/308)
- Option to stop at a conditional styling, if it matches (only XLSX format) - [#292](https://github.com/PHPOffice/PhpSpreadsheet/pull/292)
- Support for line width for data series when rendering Xlsx - [#329](https://github.com/PHPOffice/PhpSpreadsheet/pull/329)

- Better auto-detection of CSV separators - [#305](https://github.com/PHPOffice/PhpSpreadsheet/issues/305)
- Support for shape style ending with `;` - [#304](https://github.com/PHPOffice/PhpSpreadsheet/issues/304)
- Freeze Panes takes wrong coordinates for XLSX - [#322](https://github.com/PHPOffice/PhpSpreadsheet/issues/322)
- `COLUMNS` and `ROWS` functions crashed in some cases - [#336](https://github.com/PHPOffice/PhpSpreadsheet/issues/336)
- Support XML file without styles - [#331](https://github.com/PHPOffice/PhpSpreadsheet/pull/331)
- Cell coordinates which are already a range cause an exception [#319](https://github.com/PHPOffice/PhpSpreadsheet/issues/319)
2018-01-28 21:37:15 +09:00
Adrien Crivelli
d2f55ffa07
Support PHP 7.2 2018-01-28 16:23:38 +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
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
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
Gabriel Caruso
ae5fadff56 Trailing whitespaces
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2017-12-31 22:04:01 +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
691b68de9b
1.0.0
```
           *             ,
                       _/^\_
                      <     >
     *                 /.-.\         *
              *        `/&\`                   *
                      ,@.*;@,
                     /_o.I %_\    *
        *           (`'--:o(_@;
                   /`;--.,__ `')             *
                  ;@`o % O,*`'`&\
            *    (`'--)_@ ;o %'()\      *
                 /`;--._`''--._O'@;
                /&*,()~o`;-.,_ `""`)
     *          /`,@ ;+& () o*`;-';\
               (`""--.,_0 +% @' &()\
               /-.,_    ``''--....-'`)  *
          *    /@%;o`:;'--,.__   __.'\
              ;*,&(); @ % &^;~`"`o;@();         *
              /(); o^~; & ().o@*&`;&%O\
              `"="==""==,,,.,="=="==="`
           __.----.(\-''#####---...___...-----._
         '`         \)_`"""""`
                 .--' ')
               o(  )_-\
                 `"""` `
```
2017-12-25 10:53:53 +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
59326f1064
1.0.0-beta2 2017-11-26 15:47:24 +09: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
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
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
557e80dc03
Rename classes to keep them in their related namespaces 2017-10-29 17:39:42 +09:00
Adrien Crivelli
25ff914aa6
Simplify IOFactory to rely on autoloading 2017-10-22 01:54:14 +09:00
Adrien Crivelli
360db8dbcd
Upgrade to mPDF 7.0+
Closes #144
2017-09-29 11:17:08 +09:00
GreatHumorist
2abe56b946 Support missing attribute r in c node when reading xlsx
When describing a cell, the cell reference (r="A1") is optional.
When not present, we should just increment the index of the last processed row.

Fixes #201 
Closes #225
2017-09-22 14:49:38 +09:00
GreatHumorist
7aa6233185
Added xml reader hyperlink support
Closes #223
2017-09-22 14:40:47 +09:00
GreatHumorist
0477e6fcfe In Xml reader throw exception in case of invalid XML (#222)
When the xml file is not a standard xml file, the `simplexml_load_string` will return false, this will cause an error on "$xml->getNamespaces(true);" . So instead of showing the error, we throw an exception.
2017-09-20 14:20:12 +09:00
Adrien Crivelli
67289369cb
Update Changelog 2017-09-11 14:42:14 +09:00
Adrien Crivelli
1cf119dd0b
Escape control characters in cell values
Control characters in cell values are automatically escaped without
the need to excplicitly call `StringHelper::buildCharacterSets()` beforehand.

Fixes #212
2017-09-09 19:29:08 +09:00
Adrien Crivelli
1c5db4e170
Standardize keys used for styling
Array keys used for styling have been standardized for a more coherent experience.
It now uses the same wording and casing as the getter and setter methods.

Closes #189
2017-09-09 02:56:23 +09:00
CrazyBite
e6c95bf9b0
Added fillColor for chart plot series
For now it is only to write to Xlsx

Closes #158
2017-09-08 02:52:27 +09:00
Bill Blume
2761773b3d
Merge data-validation collections to reduce the final file size
Closes #131
Closes #193
2017-09-08 02:27:18 +09:00
Adrien Crivelli
7d4dc74fc6
Release 1.0.0-beta 2017-08-17 15:17:23 +02:00
Mikkel Paulson
1853aaac79 Add option to suppress validation of sheet titles (#186)
Add option to suppress validation of sheet titles

Based on a "lowest common denominator" approach to compatibility,
we will continue to enforce a 31-character limit for sheet titles.
However, this limit should not be enforced when loading an existing
file.

Added a new optional parameter to Worksheet::setTitle() and
Worksheet::setCodeName() to suppress validation and massaging,
based on the premise that existing files should be given a
best-effort approach to loading and parsing. Unfortunately, it's
not possible with the current architecture to prevent users from
making use of this functionality, aside from with a strongly-worded
warning.

Added test coverage. I didn't see any existing unit tests of the
Worksheet class, so I created a new test to cover these methods.

Fixes #176
2017-07-14 10:53:13 +02:00
Adrien Crivelli
fb12e82d62
Drop HHVM support
Because HHVM usage is very low (https://seld.be/notes/php-versions-stats-2017-1-edition)
and because we don't have the necessary resources to properly support it, we drop all
support for HHVM
2017-07-14 10:09:25 +02:00
Kifni Taufik Darmawan
2a6ab1776c
HTML reader supports text and background color from inline CSS, for td and th element
Closes #180
2017-06-23 11:28:17 +02:00
Markus Lanthaler
3ee9cc5ce6
Infer CSV delimiter if it hasn't been set explicitly
Closes #141
2017-04-20 17:02:03 +09:00
Adrien Crivelli
bd9eb19593
Split changelog not to confuse version numbers 2017-04-14 17:38:40 +09:00
Adrien Crivelli
035281f04c
Basic test covering of all PDF writers
Third party PDF libraries must now be installed via composer and naturally
via composer autoloading mechanism. Because of that it is not necessary
to specify their path on disk. The usage is simplified and it allows us
to include them in our unit tests.

This also means that from now on PhpSpreadsheet must use composer autoloader
mechanism. The internal autoloading implementation was dropped.
2017-01-22 00:49:44 +09:00
Adrien Crivelli
e6d8362fb2
Some functions were not callable because of wrong declaration 2016-12-03 14:51:04 +09:00
Adrien Crivelli
4b0d3c8c1c
Drop the old \PHPExcel_Calculation_Functions::VERSION()
This fucntion does not exist in Excel and it is non trivial to implement
without svn. Thus it was incorrect for many releases.
2016-12-03 11:19:22 +09:00
Adrien Crivelli
5ad6ced95c
Introduce a tool to migrate from PHPExcel to PhpSpreadsheet 2016-11-28 00:13:57 +09:00
Adrien Crivelli
e2e982f98a
Rename OOCalc and OpenDocument into Ods
FIX #6
2016-10-06 21:07:57 +09:00
Adrien Crivelli
4337de4930
Rename Excel5 into Xls
FIX #4
2016-10-06 20:49:41 +09:00
Adrien Crivelli
39b55ded30
Rename Excel2007 into Xlsx
FIX #5
2016-10-06 20:39:10 +09:00
Adrien Crivelli
dbef91004d
Migrate CHANGELOG to Markdown 2016-08-28 16:29:42 +09:00