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
Adrien Loison
a19231fb68
Introduce XMLProcessor to reduce ODS,XLSX readers' complexity ( #342 )
2016-10-18 16:28:26 -07:00
Adrien Loison
73d5d0ea17
Remove text suffix in XLSX date formats ( #341 )
...
Some date formats have a text suffix, e.g. "mm/dd/yy;@". We should remove the ";...@" part.
2016-10-18 11:55:36 -07:00
Adrien Loison
687c321363
Refactor SharedStringsHelper::extractSharedStrings ( #340 )
2016-10-18 00:03:15 -07:00
Adrien Loison
2fa01cd838
Remove unused SimpleXMLElement::children() method ( #339 )
2016-10-17 22:49:37 -07:00
Adrien Loison
752f4bf64e
Add ReaderOptions for all readers ( #338 )
...
Instead of passing every single option down the chain
2016-10-17 22:41:36 -07:00
Adrien Loison
b61323d7d2
Remove XLSX references in ODS Writer ( #337 )
2016-10-17 11:54:49 -07:00
Adrien Loison
179ab483d6
Empty rows do not need to be written for XLSX files ( #336 )
2016-10-17 11:40:52 -07:00
Adrien Loison
2fafb63115
ODS Reader should support num-rows-repeated for non empty rows ( #335 )
2016-10-17 10:51:12 -07:00
Adrien Loison
5ef5647558
Make getConcreteSheetIterator() protected ( #334 )
2016-10-17 10:26:37 -07:00
Adrien Loison
0978d340f0
Option to keep empty rows ( #331 )
...
* Add option to preserve empty rows when reading an XLSX file
* Add option to preserve empty rows when reading a CSV file
* Add option to preserve empty rows when reading an ODS file
2016-10-17 10:20:02 -07:00
Adrien Loison
77178122c3
Fix output file deletion after exception thrown on write ( #328 )
...
For relative paths, it would not work as the FileSystemHelper would not allow deleting a file that's not part of its base folder.
2016-10-12 11:15:07 -07:00
Adrien Loison
23f8cc4f05
Temp files should be deleted when an exception is thrown ( #327 )
...
If an exception is thrown while writing data, instead of letting the developer handle this situation gracefully, Spout can attempt to delete all the temporary files that were created so far, as well as the output file as it won't be completed and therefore corrupted.
2016-10-11 15:08:37 -07:00
Adrien Loison
442a9837f1
Removing license badge ( #320 )
...
As Github now provides this information in the project's header
2016-09-30 10:11:05 -07:00
Adrien Loison
cc07072cbb
Better support for Date custom format ( #316 )
...
- To determine if a style should apply a date format, the presence of "applyNumberFormat" attribute on the "cellXfs" section of styles.xml is now optional. We only look at the "numFmtId" attribute (but early return if "applyNumberFormat" is set to "0").
- The format code can contain lowercase AND now uppercase characters as its pattern.
- "General" format code used as a custom format is now supported. It seems to be used by a bunch of programs...
2016-09-24 10:46:42 -07:00
Hastegan
30aa1b87e2
Fix boolean notation in PHPDoc ( #314 )
2016-09-16 15:12:58 -07:00
Hastegan
ddb7365a79
Add a way to disable text wrapping through the api ( Fix #247 ) ( #311 )
...
* Add a way to disable text wrapping (Fix #247 )
* Fix PHPDoc boolean notation
* Fix PHPDoc param notation
2016-09-16 11:24:36 -07:00
Adrien Loison
a07a96f523
Bump dev-master version ( #309 )
...
Bump to `2.7.x-dev` as 2.6.0 just got released
2016-09-08 09:34:43 -07:00
Adrien Loison
3e0afd858f
Apply custom style to empty cells if needed ( #307 )
...
Fixes #295
If a row should be written with a custom style, the handling of empty cells should change.
Instead of being skipped entirely, empty cells will be applied the custom style, if this style has custom background color or borders.
If not, then the cell definition can still be skipped.
v2.6.0
2016-09-07 17:04:31 -07:00
Adrien Loison
d4e57b1f0d
Add consistency using getCellXML() ( #306 )
2016-09-06 19:47:18 -07:00
Adrien Loison
435a9a016e
Improve XLSX Escaper performance ( #305 )
2016-09-03 11:04:25 -07:00
Stefan
5e7a1745ac
Initial extraction of method getCellXml from addRow ( #302 )
2016-09-02 19:48:10 -07:00
madflow
277c353984
Fix #297 ( #299 )
2016-08-30 10:56:52 -07:00
madflow
ff2d54cc8d
Fix #276 , some general refinement ( #289 )
...
* Fix #276 , some general refinement
* Failing test #267
* Fixed shared border definitions across different styles #267
* Fix finding the correct borderId
2016-08-23 19:57:57 -07:00
Adrien Loison
c94694cb60
API to set default row style ( #290 )
2016-08-16 21:18:44 -07:00
madflow
584121d478
Add background-color to styles ( #211 )
...
Removed default background color, cosmetics
Remove default background color
reuse bg colors
Cosmetics
Moved reusing fills to XLSX StyleHelper
Tests and inline doc
2016-08-10 13:11:47 -07:00
Adrien Loison
b2dc0c3fa9
Fix tests on Windows ( #288 )
2016-08-10 12:09:37 -07:00
Adrien Loison
7f65993c87
Spout should be able to read prefixed styles.xml ( #287 )
2016-08-09 20:53:40 -07:00
Adrien Loison
b75a3e34fc
XLSX cells containing date values should respect shouldFormatDate option ( #282 )
...
Return the ISO 8601 date string directly if option is set
2016-07-20 20:12:00 -07:00
Adrien Loison
82605ab57b
Do not return anything from constructor ( #275 )
2016-07-14 10:53:44 -07:00