Commit Graph

220 Commits

Author SHA1 Message Date
Adrien Crivelli
22b9a3f66f
Drop PHP version checked according to our new requirement of PHP 5.5 2016-12-03 11:35:04 +09:00
Adrien Crivelli
5b7d6cc524
Remove obsolete ##VERSION## and ##DATE## that are not managed by svn anymore 2016-12-03 11:31:35 +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
854f7e838d
Support #N/A values in charts
FIX #50
2016-12-03 10:49:03 +09:00
Adrien Crivelli
268fc1a4c4
Fix unit tests for PHP < 7.0 2016-11-28 01:58:10 +09:00
Adrien Crivelli
5ad6ced95c
Introduce a tool to migrate from PHPExcel to PhpSpreadsheet 2016-11-28 00:13:57 +09:00
Adrien Crivelli
e6bbc4bd25
Convert all line ending to unix style 2016-11-27 15:45:15 +09:00
Adrien Crivelli
f74fde155f
Remove non-obvious BaseReader's dependency
BaseReader called `isValidFormat` despite it doesn't require it to be
implemented. Instead we replaced `isValidFormat` by a proper implementation
of `canRead` in each classes. This also remove the semantic amibguity between
those two methods.

FIX #32
2016-11-27 14:29:25 +09:00
Green Wang
8c58385d6c
Fix cant get right format chinese date format error
modify preg expression in NumberFormat.php

[DBNum1][$-804]yyyy"年"m"月"d"日";@
[DBNum1][$-804]yyyy"年"m"月";@
[DBNum1][$-804]m"月"d"日";@

FIX #44
2016-11-27 13:39:45 +09:00
tomaszsita
939f24ecb4
Calculate column auto width for merged cells (if horizontal, 1-column wide merge only)
This is to fix the situation when cells merged vertically are ignored in columns auto size calculations.

I also removed $calculateMergeCells param as it wasn't used and I believe the only situation when you
want to calculate the width of merged columns has been covered here (and there's no reason to not calculate it).

FIX #46
2016-11-25 17:54:56 +09:00
Adrien Crivelli
6d8ba6f7f0
Revert references to classes in global namespace
Some references to classes were incorrectly assumed to be a reference
to self, whereas they were references to classes in global namespace
outside of this project.

FIX #37
2016-11-16 22:43:44 +09:00
Alexander Kurilo
1df5f97a5b Require GD for saving images in xls
GD is implicitly required for saving images anyway, this exception when
it's not loaded simply gives more information on what to do if the
execution flow reaches a places that depends on a function from GD.
2016-11-16 22:23:09 +09:00
Alexander Kurilo
408da0c17a Make HTML checks more strict 2016-11-16 22:21:30 +09:00
Roland Haeder
4b4831be07 Catch some invalid parameter (may come from damaged file) and throw exception. (#39)
Signed-off-by: Roland Häder <roland@mxchange.org>
2016-11-16 22:17:43 +09:00
Roland Haeder
296cc69f0a Avoid array_key_exists(), unless we need to check NULL values (#35)
```php
<?php
$array = array(
	'str'  => 'foo',
	'num'  => 12345,
	'null' => NULL,
);

print intval(isset($array['null'])) . PHP_EOL;
print intval(array_key_exists($array['null'])) . PHP_EOL;
print intval(isset($array['num'])) . PHP_EOL;
print intval(array_key_exists($array['num'])) . PHP_EOL;
print intval(isset($array['str'])) . PHP_EOL;
print intval(array_key_exists($array['str'])) . PHP_EOL;
```

Only for this special case, you need array_key_exists(), else avoid it as it is
painfully slow and hurts your performance.

Signed-off-by: Roland Häder <roland@mxchange.org>
2016-10-26 20:01:11 +09:00
Adrien Crivelli
fb1d280e82
Remove all references to "hack" from the source code
Remove the term "hack" from the source code to prevent it
from being flagged by malware scanners and audit tools (such as
the very popular myJoomla.com for Joomla sites)
2016-10-24 20:24:56 +09:00
Phil Taylor
ec9e548153
Remove the term "hacked by" from the source code
Remove the term "hacked by" from the source code to prevent it
from being flagged by malware scanners and audit tools (such as
the very popular myJoomla.com for Joomla sites)
2016-10-24 19:50:13 +09:00
Adrien Crivelli
02e233634a
All constants are uppercase #25 2016-10-07 09:52:04 +09:00
Max
d84d9ba730 Fix spelling and constant name used as default argument (#25) 2016-10-07 08:16:13 +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
2b41bdbf4e
Loosen type checking to allow both use-cases
Previously it crashed when loading an file containing conditional formatting

FIX #21
2016-10-05 14:06:39 +09:00
CrazyBite
c94539c86c
Fix reading print area with sheet name containing a comma 2016-10-03 17:18:38 +09:00
Balint Kovacs
c99ec67d68
Fix hyperlink reading in ODS files 2016-10-03 07:21:28 +09:00
Adrien Crivelli
e95a267034
Apostrophes in sheet names prevented save
If a sheet name included an apostrophe and the sheet had print area
defined then the spreadsheet could not be saved because the cell
coordinates were mangled, eg:
'Fiche d''action'!$A$1:$N$19

wrongly became:
'Fiche d'$A$1:$N$19
2016-10-02 20:21:13 +09:00
Enyby
d791a0bbeb
Fix signature detection on Excel2003XML
Signature can be with single quotes:
```
<?xml version='1.0'?>
<?mso-application progid='Excel.Sheet'?>
```
2016-10-02 17:44:17 +09:00
Enyby
102c19356f
Fix bug with convert int
Some bugged file have $data less from four bytes. This fix append zero bytes if it happens.

It is prevent errors on access to need indexes.
2016-10-02 17:40:26 +09:00
Сергей Симонян
5a3e2435c3
Fix undefined index exception in readRow() 2016-10-02 17:24:59 +09:00
Adrien Crivelli
ae1b85f961
Fix code style 2016-10-02 15:21:52 +09:00
Adrien Crivelli
8c4c11346b
Fix unit tests for DATEDIF()
Leap years where not properly taken into consideration
2016-10-02 14:46:11 +09:00
Adrien Crivelli
8061f7516e
Rename SECONDOFMINUTE into SECOND for consistency 2016-10-02 09:43:13 +09:00
Adrien Crivelli
75c34f2694
Rename MINUTEOFHOUR into MINUTE for consistency 2016-10-02 09:41:20 +09:00
Adrien Crivelli
382d15a5c3
Rename DAYOFWEEK into WEEKDAY for consistency 2016-10-02 09:35:50 +09:00
Adrien Crivelli
9629151e45
Rename WEEKOFYEAR into WEEKNUM for consistency 2016-10-01 22:44:33 +09:00
Adrien Crivelli
23fbc845dd
Fix unit tests for WEEKNUM() 2016-10-01 22:33:12 +09:00
Сергей Симонян
1a2a6816fb
Fix undefined index exceprtion in readRow()
It's possible undefined index exception in $this->mapCellXfIndex.
2016-09-09 00:42:24 +09:00
Marcus Bointon
39ea4eea98 Don't truncate to 64k in mb_str_replace 2016-09-05 23:23:49 +02:00
MarkBaker
fb2edfdacf Merge branch 'develop' of https://github.com/PHPOffice/PhpSpreadsheet into develop
# Conflicts:
#	src/Autoloader.php
2016-08-31 21:58:08 +01:00
MarkBaker
fae27a6d63 As iconv is now enabled by default in PHP, make it a requirement, and modify strig functions to use it where appropriate 2016-08-31 21:52:42 +01:00
Adrien Crivelli
47cde0dadc
Introduce vendor prefix PhpOffice to namespace 2016-09-01 02:20:47 +09:00
Adrien Crivelli
2922a13764
Reorganize code samples
This introduce a helper class that should be used to log things,
avoiding a lot of boilerplate code.

Also all output are made in /tmp folder instead of beside the script
itself. This is because there is a high chance that the folder containing
the script is not writtable by webserver. So using the /tmp folder
makes it more likely to works in a variety of setup.
2016-09-01 01:17:13 +09:00
Adrien Crivelli
c3bb4245b3
Register autoload as the first in the list
Yii framework v1.1 has it's own autoloader and its autoloader throws
an error, when it can't find class. When this library initializes, it
register its own autoloader, but places it at the end of autoload
queue. So when I use library with Yii 1.1, I just face an error:
`include(PHPExcel_Shared_String.php): failed to open stream: No such file or directory`
because Yii's autoloader runs first and tries to include class file
directly.

Registering our autoloader first avoid this.
2016-08-30 00:51:51 +09:00
Nikolay Ivanov
98e00e8843
iconv illegal character fix 2016-08-26 22:52:47 +09:00
Adrien Crivelli
67d5263004
Fix code style 2016-08-26 22:48:57 +09:00
Synchro
c50814ac4e
Remove unused local var, function returns void anyway 2016-08-26 22:44:55 +09:00
Synchro
30e0451bc3
Fix duplicate array keys in ptg indices
Reference: http://read.pudn.com/downloads173/sourcecode/delphi_control/805790/DevExpress/DevExpressComm/cxExcelConst.pas__.htm
2016-08-26 22:41:14 +09:00
Synchro
16a8162a14
Fix duplicate array key 2016-08-26 22:32:55 +09:00
Carlos Montiers
6acd403251
In memory gzip cache method use max compression 2016-08-26 22:09:46 +09:00
Carlos Montiers
d8850176a1
php://temp maxmemory must be expressed in bytes 2016-08-26 22:07:49 +09:00
Adrien Crivelli
91417ad1c3
Delete debug and commented out code 2016-08-26 18:08:26 +09:00
Adrien Crivelli
04d6182a81
Remove unused variables 2016-08-26 15:05:40 +09:00
Adrien Crivelli
b42bafcfe7
Apply Scrutinizer patches for doc comments 2016-08-26 13:40:01 +09:00
Adrien Crivelli
cb0930c016
Apply Scrutinizer patches for indentation 2016-08-25 19:35:29 +09:00
Adrien Crivelli
a85f1bdbed
Apply Scrutinizer patches for spacing 2016-08-25 18:46:02 +09:00
Adrien Crivelli
027792ed09
Fix wrong class names that were incorrectly migrated 2016-08-25 13:39:26 +09:00
Adrien Crivelli
942ad72d2a
Complete a few more namespace renaming 2016-08-25 11:43:27 +09:00
Adrien Crivelli
ba70544846
Fix crash when reading HTML files 2016-08-25 11:14:03 +09:00
Adrien Crivelli
7a6c5b0d1b
Fix code style 2016-08-25 11:13:49 +09:00
MarkBaker
e0a9f9e1ec Merge branch 'feature/gh-7' into develop
# Conflicts:
#	src/PhpSpreadsheet/Shared/Date.php
2016-08-17 00:40:55 +01:00
MarkBaker
f8c3363de3 Fix some Case-sensitivity problems 2016-08-17 00:36:24 +01:00
Adrien Crivelli
09d456e477
Introduce PHP-CS-Fixer for stricter code style rules
PHP-CS-Fixer allow to check different things than phpcs and it allows
code to be more consistent. Configuration can be changed in `.php_cs`
2016-08-17 00:33:57 +09:00
Adrien Crivelli
539a89a918
Rename namespace PHPExcel to PhpSpreadsheet
This also fix a few bugs that were introduced when migrating to
namespace. Some non-namespaces classes were leftover

FIX #15
2016-08-16 23:24:47 +09:00
Adrien Crivelli
a6c6064348
Replace mentions of CodePlex by GitHub 2016-08-16 22:02:03 +09:00
MarkBaker
91573b5c93 Split PHPToExcel logic for different input types 2016-08-14 22:36:30 +01:00
MarkBaker
aa97bb3e45 Merge branch 'develop' into feature/gh-7
# Conflicts:
#	tests/PhpSpreadsheet/Shared/DateTest.php
2016-08-14 15:41:50 +01:00
MarkBaker
f0e167c182 Unit tests for modified Date functions 2016-08-14 15:35:43 +01:00
Adrien Crivelli
ce2ce3414b
Refactor arguments with default values to be at the end of the argument list 2016-08-14 14:09:55 +09:00
Adrien Crivelli
ea513d9c1b
Autofix style code with phpcs 2016-08-14 13:55:34 +09:00
MarkBaker
850594c4d2 Merge branch 'develop' into feature/gh-7
# Conflicts:
#	tests/PhpSpreadsheet/Shared/DateTest.php
#	tests/rawTestData/Shared/DateTimeExcelToPHP1900.data
#	tests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data
#	tests/rawTestData/Shared/DateTimeExcelToPHP1904.data
#	unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data
#	unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data
#	unitTests/rawTestData/Shared/DateTimeExcelToTimestamp1900.data
#	unitTests/rawTestData/Shared/DateTimeExcelToTimestamp1904.data
2016-08-14 02:07:10 +01:00
MarkBaker
e149c1f191 Adjustments to DateTime tests 2016-08-13 20:21:45 +01:00
MarkBaker
fd2df82faf Merge branch 'develop' into feature/gh-17 2016-08-13 16:59:03 +01:00
Adrien Crivelli
80af21d962
Fix unit tests for date
Unit tests were broken in commit 745499cc55
2016-08-14 00:31:09 +09:00
Adrien Crivelli
49d821f093
Autofix style code with phpcs
The entire project now pass phpcs check
2016-08-13 23:31:22 +09:00
MarkBaker
8569f04090 Fixes to ZipArchive cass when PCLZip being used
Fixes to default arguments when typehinted arguments in Chart writer are null values
Fix to gitignore for Examples folder/subfolders
2016-08-13 14:52:49 +01:00
MarkBaker
2da06e5b03 Another copy/paste error that has somehow sneaked into the date code 2016-08-13 13:38:10 +01:00
MarkBaker
558da2269d Fix a couple of errors that have sneaked into the date code, plus some minor problems in radar/scatter chart examples, and a spurious html comment that had sneaked into spreadsheet 2016-08-13 13:28:29 +01:00
MarkBaker
3886999957 Merge branch 'develop' of https://github.com/PHPOffice/PhpSpreadsheet into develop 2016-08-13 11:50:02 +01:00
MarkBaker
745499cc55 Changes to Date/Time conversion functions to use DateTime objects internally rather than unix timestamps;
Changes to Date/Time methods to make them more intuitive and correct (eg `excelToTimestamp` rather than `excelToPHP`)
TODO - Still need to write unit tests, and convert Examples to use the new names
2016-08-13 11:49:01 +01:00
Mark Baker
9ecfc0c8b4 Merge pull request #10 from PowerKiKi/unit-tests-bessel
Fix unit tests for BESSEL functions
2016-08-13 11:40:19 +01:00
Mark Baker
98ccf97e55 Merge pull request #12 from PowerKiKi/unit-tests-base-conversion
Fix unit tests for all base conversion functions
2016-08-13 11:40:02 +01:00
MarkBaker
30bb53ebf8 Double call of PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::stringFromColumnIndex(0)) resulting in `PHP Warning: A non-numeric value encountered" 2016-08-05 00:22:19 +01:00
Adrien Crivelli
8fc29bd1b1
Fix unit tests for all base conversion functions
This include cases were artificial constraints were not checked
(eg: between -512 and 511 for `DECBIN`) and some bugs were 32
bits platform were assumed.

The following are covered:

`BIN2DEC`, `BIN2HEX`, `BIN2OCT`,
`DEC2BIN`, `DEC2HEX`, `DEC2OCT`,
`HEX2BIN`, `HEX2DEC`, `HEX2OCT`,
`OCT2BIN`, `OCT2DEC`, `OCT2HEX`
2016-08-01 02:48:51 +09:00
Adrien Crivelli
3a38cc8f0a
Fix unit tests for BESSEL functions
Expected data were re-written by using LibreOffice 5 as a reference.
We kept only 8 decimals, because this is the precision used in tests,
and it's easier to read without scientific notation.

Also a few expected values were wrong so they were changed. The correct
expected values were confirmed by both LibreOffice 5 and wolframalpha.com.

Finally fixed an actual bug in code were a NaN value were returned instead of
the correct `#NUM!`.
2016-07-31 23:11:54 +09:00
MarkBaker
2291748a83 Fix for multiple worksheets, all with merge cells, in HTML Writer 2016-07-14 23:09:19 +01:00
MarkBaker
1702d95333 Fix for XML settings, together with unit tests 2016-06-05 17:03:42 +01:00
Progi1984
36a9068b38 #401 : PHPUnit Fixes (Calculation > LookupRef) 2016-05-20 08:41:09 +02:00
Progi1984
6faed3bd58 #463 : Patch @domic-olga vlookup - incorrect value when not exact match 2016-05-19 14:38:50 +02:00
Progi1984
20d007abb1 #401 : PHPUnit Fixes (Calculation > Engineering) 2016-05-19 12:49:15 +02:00
Progi1984
248bdbf841 #401 : PHPUnit Fixes (Calculation > Engineering) 2016-05-19 12:31:40 +02:00
Progi1984
14c9fac305 Merge pull request #900 from ValentinNikolaev/patch-2
Fix: replace String with StringHelper in Font
2016-05-19 08:50:49 +02:00
Progi1984
98f7d4bf08 #401 : PHPUnit Fixes (Calculation > DateTime) 2016-05-19 08:49:09 +02:00
Valentin I. Nikolaev
5e4e6fe3ee Fix: replace String with StringHelper in Font
We use StringHelper::countCharacters, not String::countCharacters
2016-05-19 05:33:22 +03:00
Progi1984
104d8362ec #401 : PHPCS Fixes & Some PHPUnit Fixes 2016-05-18 13:51:56 +02:00
Progi1984
259ce457f3 #401 : PHPCS Fixes & Some PHPUnit Fixes 2016-05-18 13:37:00 +02:00
Progi1984
dffeb25a5f #401 : PHPCS Fixes 2016-05-18 09:02:39 +02:00
Progi1984
05643d16d5 #401 : PHPCS (Calculation\MathTrig & Logical) 2016-05-14 18:22:59 +02:00
Progi1984
12590bbf1e #401 : PHPCS (Calculation\Functions) 2016-05-14 10:29:38 +02:00
Progi1984
69e168271a #401 : PHPCS (Shared\StringHelper) 2016-05-14 09:51:58 +02:00
Progi1984
c0fe7c275d #401 : Fix for JpGraph 2016-05-14 09:43:02 +02:00