Adrien Loison
fec27e9056
Update .php_cs.dist
...
Remove "void_return" rule
2017-11-04 16:43:36 +01:00
Adrien Loison
c74c0d9127
Add support for 1904 dates
...
This commit adds support for dates using the 1904 calendar (starting 1904-01-01 00:00:00).
It also fixes some issues with the dates in 1900 calendar (which now correctly start at 1899-12-30 00:00:00).
Finally, it is now possible to have negative timestamps, representing dates before the base date (and up to 0000-01-01 00:00:00), as per the SpreadsheetML specs. Note that some versions of Excel don't support negative dates...
2017-11-04 16:33:46 +01:00
Adrien Loison
e1ae3c8a81
Update php-cs config: increment_style
2017-11-04 13:32:22 +01:00
madflow
0ab053dc6e
(chore) remove hhvm from the test grid
2017-10-13 18:50:10 +02:00
Adrien Loison
28c1bea28c
Code style should not follow Yoda style
2017-10-04 00:53:05 +02:00
Adrien Loison
b968513cb9
Fix code style
2017-09-06 00:33:43 +02:00
Adrien Loison
740fcfb8c1
Fix code before applying PHP CS Fixer
2017-09-06 00:33:43 +02:00
Adrien Loison
554ebf987b
Setup PHP CS fixer
...
- Add PHP CS Fixer as a dev dependencies.
- Add PHP CS Fixer cache file to gitignore/gitattributes
- Add custom code style config
- Update TravisCI config to check code style
2017-09-06 00:33:43 +02:00
Adrien Loison
668c10a30d
Introduce Managers for readers
...
Some helper classes were more managers than helpers...
2017-08-27 03:56:17 +02:00
Adrien Loison
61f2addefa
Favor object creation in factories ( #459 )
...
Instead of passing factories in the constructors and let objects call the factory method, create all dependencies directly in the factories.
2017-08-27 02:40:39 +02:00
Adrien Loison
4ec3a21170
Random DI improvements ( #458 )
...
* Add random DI improvements
Fixing things that were previously missed
* Split InternalFactory into Manager and Helper factories
2017-08-27 01:44:20 +02:00
Adrien Loison
b7e46740ce
Refactor readers for better di ( #457 )
...
* Refactor readers to get a proper DI
Similar to what was done with writers, readers also needed to be updated to match the new way of doing things.
This commits promotes a better DI (factories, injection through constructors).
* Escapers should not be singletons
Instead, they should be proper object that can be injected where needed.
2017-08-27 00:01:17 +02:00
madflow
4d6437fa77
merge master, resolve conflicts ( #447 )
2017-07-13 09:52:15 +02:00
Adrien Loison
3bb4fd3d48
Move Sheet to Common/Entity ( #438 )
...
... and introduce a SheetManager
2017-05-30 16:49:07 +02:00
Adrien Loison
30366e6a5d
Inject ZipHelper through constructor ( #437 )
2017-05-30 15:19:05 +02:00
Adrien Loison
762dd1573a
Inject GlobalFunctionsHelper through constructor for Writers ( #436 )
2017-05-30 14:37:38 +02:00
Adrien Loison
7ec0f565fd
Rename SharedStringsHelper to SharedStringsManager ( #435 )
2017-05-30 14:11:18 +02:00
Adrien Loison
cc9a0b526b
Refactory Writer Styles to match new code organization ( #433 )
...
Decomposed old StyleHelper into StyleManager, StyleRegistry and StyleMerger.
2017-05-30 13:05:18 +02:00
Adrien Loison
238756ab6e
Move Style classes into Common folder ( #432 )
2017-05-30 00:56:50 +02:00
Adrien Loison
c4e25a168e
Move entities and managers back to Common ( #431 )
2017-05-29 23:28:10 +02:00
Adrien Loison
878c4a9c8b
Rename Factory folder to Creator ( #430 )
2017-05-29 23:10:24 +02:00
Adrien Loison
cebffbe80c
Move Cell and Options to Entity folder ( #429 )
2017-05-29 22:51:12 +02:00
Adrien Loison
69b091b37c
Move OptionManager from Common/Manager to Manager ( #428 )
2017-05-29 22:34:25 +02:00
Adrien Loison
bc17311f5f
Refactor writers for better DI ( #427 )
...
This commit is a big refactor that improves the code organization.
It focuses on how dependencies are injected into the different classes. This is now done via some factories.
Also, the code is now built around entities (data model that only exposes getters and setters), managers (used to manage an entity) and helpers (used by the managers to perform some specific tasks).
The refactoring is not fully complete, as some dependencies are still hidden...
2017-05-29 22:18:40 +02:00
Adrien Loison
a366d0d0af
Introduce an options manager for all writers ( #423 )
...
This will improve the management of options and simplify some methods' signatures.
This commit will also help moving the code to a better state regarding Dependency Injection.
2017-05-24 13:17:50 +02:00
madflow
f9d8ad8be3
bump phpunit to the latest supported release, travis setup, ignore composer.lock ( #419 )
2017-05-22 10:39:03 +02:00
Adrien Loison
80553c6c52
Bump min PHP version to 5.6 ( #415 )
2017-05-05 15:14:47 +02:00
madflow
4acd9ad087
Cell value objects ( #383 )
...
* first stab at cell objects, #182
* removed comment parameter, streamlined cell detection, more tests #182
* shorter constant names, missing isFormula() #182
* first batch of changes #182
* documentation #182
2017-05-01 12:09:24 +02:00
Adrien Loison
4e6db6a8a1
Update copyright year ( #412 )
2017-04-28 11:17:41 +02:00
Adrien Loison
048105461c
Fix shared strings XML Entities auto decode ( #411 )
...
When converting an XMLReader node to a SimpleXMLElement, the conversion would automatically decode the XML entities. This resulted in a double decode.
For example: """ was converted to """ when imported into a SimpleXMLElement and was again converted into " (quote).
This commit changes the way the XLSX Shared Strings file is processed. It also changes the unescaping logic for both XLSX and ODS.
Finally, it removes any usage of the SimpleXML library (yay!).
2017-04-28 02:27:33 +02:00
Adrien Loison
1eb01a3d2a
Use constants instead of arbitrary strings in SheetHelper ( #407 )
2017-04-15 23:52:48 +02:00
Adrien Loison
9f80ece73f
Minor fixes for tests ( #406 )
2017-04-15 23:33:50 +02:00
Adrien Loison
7f8b95b2f3
Expose Sheet::isActive() to provide info about the last active sheet ( #405 )
2017-04-15 21:40:19 +02:00
Adrien Loison
4a65466b61
Prevent error when close() called while writer already closed ( #402 )
v2.7.2
2017-03-28 15:07:48 +02:00
Adrien Loison
742780613a
Do not add space between text nodes ( #401 )
2017-03-28 14:36:15 +02:00
Adrien Loison
3128f86769
Remove max line length when reading CSV files ( #399 )
2017-03-28 13:55:06 +02:00
Adrien Loison
d898f91917
Update README.md ( #398 )
2017-03-27 18:28:12 +02:00
Adrien Loison
33c9d2f2ed
Enforce sheet name uniqueness per workbook ( #397 )
...
Instead of across all workbooks (in case of multiple spreadsheets being created at the same time).
2017-03-27 17:58:06 +02:00
someson
36d3596f83
Fixing the Bug reading the ODS Sheetnames ( #389 )
...
incorrect sequence of arguments creating a Sheet in
Reader/ODS/SheetIterator::current()
Tests added.
2017-02-28 10:25:25 +11:00
Stian Liknes
1ce931a424
Handle empty rows without E_WARNING when filling missing array indexes ( #385 )
...
In some cases, reading an XLSX file produce E_WARNING from the max()
call in the fillMissingArray() method. This commit fix the problem
by handling empty rows.
2017-02-19 23:30:35 +13:00
Lito
6f4ddb1569
Fixed processDimensionStartingNode regular expression ( #372 )
...
* Fixed processDimensionStartingNode regular expression
* Improved processDimensionStartingNode regular expression
* Removed strict control on processDimensionStartingNode regular expression
2017-01-04 18:50:12 +01:00
Adrien Loison
521f799366
[XLSX] A cell should not contain more than 32,767 characters ( #365 )
2016-11-29 15:43:38 -08:00
Adrien Loison
984c9c1f67
Improve error message when invalid sheet name set ( #364 )
...
Instead of listing all the requirements, only list the requirements that actually failed to be met.
2016-11-29 14:36:57 -08:00
Adrien Loison
e255895cff
Refactor ODS escaper ( #363 )
2016-11-28 17:03:13 -08:00
Adrien Loison
e276b4378e
Fix crash when using associative array with empty row ( #354 )
v2.7.1
2016-11-03 13:45:18 -07:00
Adrien Loison
9ce77405e0
Refactor Style::mergeWith() and StyleHelper::getStyleSectionContent() ( #346 )
2016-10-19 17:01:19 -07:00
madflow
ef4a32eb5e
Fix issue 329 ( #333 )
...
* Used ENT_DISALLOWED when escaping a string.
* Added workaround for environments where ENT_DISALLOWED is not defined
2016-10-19 09:46:37 -07:00
Adrien Loison
4cb30bc36d
Add Scrutinizer Code Quality badge ( #345 )
2016-10-18 20:29:33 -07:00
Adrien Loison
bf616dee90
Bump dev-master version ( #344 )
2016-10-18 20:03:15 -07:00
Adrien Loison
3a330debb3
Move ReaderCommonOptions class to Common folder ( #343 )
v2.7.0
2016-10-18 16:55:05 -07:00