Commit Graph

164 Commits

Author SHA1 Message Date
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