Commit Graph

393 Commits

Author SHA1 Message Date
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
Adrien Crivelli b4a187bef8 Fix missing classes 2017-10-28 22:52:23 +09:00
Adrien Crivelli a093a468d1 HLOOKUP check on the count of the rows, not columns
We must check on the count of the rows (`row_index_num` and not
`col_index_num` as in VLOOKUP) and not on the columns.

https://support.office.com/en-us/article/HLOOKUP-function-a3034eec-b719-4ba3-bb65-e1ad662ed95f

Fixes https://github.com/PHPOffice/PHPExcel/issues/1339
2017-10-26 23:02:53 +09:00
Adrien Crivelli 25ff914aa6 Simplify IOFactory to rely on autoloading 2017-10-22 01:54:14 +09:00
Adrien Crivelli 3e6a419b6d Remove useless @static annotations 2017-10-21 23:26:05 +09:00
Adrien Crivelli 79ab852bf5 Expose PDF writer to be used directly
We used to have some kind of wrapper that didn't do much except
forward methods to the real instance. That unnecessary complexity
made it harder to work with the real writer instance.
2017-10-14 14:57:44 +09:00
KacerCZ 98cd5e07bf Temporary directory is passed to mPDF (#248)
Temporary directory set to PDF writer is passed to mPDF object in constructor.
mPDF 7.0 changed temporary directory configuration from constant to constructor parameter.
Without this change it is not possible to change default temporary directory.

See: https://mpdf.github.io/installation-setup/folders-for-temporary-files.html
2017-10-13 16:08:55 +09:00
Adrien Crivelli add064e80e Migrate Shared\Date methods
Closes #247
2017-10-13 12:12:58 +09:00
Adrien Crivelli b14234b198 Removed leading slashes from migrator map
Closes #245
Closes #246
2017-10-13 10:38:58 +09:00
Adrien Crivelli bd3285b4fa Avoid underscore in property names 2017-10-08 14:37:11 +09:00
Claudio Zizza c9795e13b5 Add missing class properties (#241) 2017-10-08 13:18:39 +09:00
Adrien Crivelli 483f3c98ff More fixes from PhpStorm warnings 2017-10-08 02:00:30 +09:00
Adrien Crivelli 1259549466 Drop unused code and fix some PhpStorm warnings 2017-10-08 01:21:32 +09:00
Maxim 4b4bac53aa INDEX(): fix getting row and col numbers from references (#239)
Allow to use cell references as row and column in function INDEX(). Eg:

```
=INDEX(A1:B5, A9)
```
2017-10-06 14:01:20 +09:00