Commit Graph

606 Commits

Author SHA1 Message Date
Mark Baker 3886c47ebe Refactoring of calculation engine using the multiton pattern to eliminate caching issues when working with multiple workbooks
Refactoring of calculation engine for improved performance and memory usage
Refactoring of cell object to eliminate data duplication and reduce memory
2013-02-15 15:42:06 +00:00
Mark Baker 6fd6b4d044 Fix PHPExcel object destructor 2013-02-13 13:17:16 +00:00
Mark Baker 5451b63cdc Merge branch 'develop' of https://github.com/PHPOffice/PHPExcel into calcEngine
Conflicts:
	Classes/PHPExcel.php
	Classes/PHPExcel/Worksheet.php
2013-02-13 09:09:28 +00:00
Mark Baker 245a1dc832 __destroy methods for Excel and Worksheet objects 2013-02-13 09:01:36 +00:00
Mark Baker b589fab56b Selective calculation cache clearance and adjustment for unsetting or renaming worksheets 2013-02-12 12:44:31 +00:00
Mark Baker f05f66fa82 Eliminate some code duplication 2013-02-11 14:11:36 +00:00
Dominik Bonsch 4e8dea7883 Merge remote-tracking branch 'origin/experimental' into develop 2013-02-09 12:32:03 +01:00
Dominik Bonsch 49783efbd2 PSR-2 2013-02-09 12:26:15 +01:00
Dominik Bonsch b9970417c3 PSR-2 2013-02-09 12:24:19 +01:00
Dominik Bonsch 94967a7cf9 PSR-2 2013-02-09 12:18:30 +01:00
Dominik Bonsch 4771c30ef1 PSR-2 2013-02-09 12:17:58 +01:00
Dominik Bonsch caced1a5be PSR-2 2013-02-09 12:15:01 +01:00
Dominik Bonsch 086d12e7af phpdoc replaced array of by […] 2013-02-09 12:09:28 +01:00
Dominik Bonsch e250e466f9 PSR-2 2013-02-09 11:55:38 +01:00
Mark Baker abb076a817 Use direct reference to workbook in Calc Engine rather than cell's parent's parent 2013-02-05 09:52:28 +00:00
Mark Baker 6f4cfcc8c6 Ensure that writers access the workbook rather than the global calculation engine 2013-02-04 23:16:39 +00:00
Mark Baker 1e1a6ac361 Convert singleton calculation engine to multiton 2013-02-04 17:26:27 +00:00
Mark Baker 242f69bb29 Performance tweaks 2013-02-01 13:29:13 +00:00
Mark Baker 3c3e910d74 Performance tweaks and modification to style checking for hh:mm or mm:ss time formats to differentiate correctly from mm months 2013-02-01 12:45:21 +00:00
nicoder 1b96fcc8dd fix typo in comment 2013-02-01 11:48:10 +01:00
Mark Baker ff12698185 Merge branch 'develop' of https://github.com/PHPOffice/PHPExcel into develop 2013-01-31 12:13:58 +00:00
Mark Baker 9a085abd7d Minor memory and performance improvements 2013-01-31 12:13:31 +00:00
Progi1984 debead542d Merge pull request #136 from nicoder/patch-2
fix typo in phpdoc
2013-01-30 02:36:33 -08:00
nicoder ff6643f627 fix typo in phpdoc 2013-01-30 10:55:16 +01:00
nicoder 2ce7553e28 fix typo in phpdoc 2013-01-30 10:04:04 +01:00
Mark Baker 0baa487442 Merge branch 'develop' of https://github.com/PHPOffice/PHPExcel into develop 2013-01-22 21:43:59 +00:00
Mark Baker 3bd2b89ff6 Bugfix: Work item GH-130 - Single cell print area 2013-01-22 21:43:31 +00:00
Dominik Bonsch 2863152399 Merge branch 'develop' into experimental 2013-01-22 21:21:22 +01:00
Dominik Bonsch 765fba9d4a #131 added a check if the constant IDENTIFIER_OLE allready exists,
thx to @prolic
2013-01-22 21:20:32 +01:00
Dominik Bonsch c3bb8796ab replaced tabs by 4 spaces 2013-01-22 21:06:17 +01:00
Dominik Bonsch ace1796330 reformated the docblock comments (looked a litle strange after
replacing the tabs)
2013-01-22 21:05:13 +01:00
Dominik Bonsch 8ccc3a40a0 replaced tabs by 4 spaces 2013-01-22 20:58:54 +01:00
Dominik Bonsch b102d52c58 replaced tabs by 4 spaces 2013-01-22 20:56:41 +01:00
Dominik Bonsch 7dbe92b821 Improved the phrasing of the error messages. 2013-01-22 20:43:49 +01:00
Dominik Bonsch acca05f1cf minor architecture improvement
- used strtoupper to get rid of case sensitive name checks
  - added "else if", it's not nessecary to check for the second "if", if
the first one was allready true
2013-01-22 20:39:45 +01:00
Dominik Bonsch aadc933827 Still improving the out of bounds error messages in the exceptions. 2013-01-22 20:19:06 +01:00
Dominik Bonsch 9926c64314 added the requested index to the out of bounds exception 2013-01-22 20:12:12 +01:00
Dominik Bonsch 756dfad85a added the actual number of sheets in the out of bounds exception 2013-01-22 20:10:01 +01:00
Mark Baker 9de3d5a62b Set correct active sheet when setReadDataOnly(true) and only loading a selection of two or more worksheets rather than all worksheets 2013-01-21 12:56:21 +00:00
Mark Baker 092fc7b5f7 General: (dbonsch) Work item GH-78 - Restructuring of PHPExcel Exceptions 2013-01-15 21:42:28 +00:00
Mark Baker 907ad1ef66 Modify listWorksheetNames() and listWorksheetInfo to use XMLReader with streamed XML rather than SimpleXML 2013-01-13 23:36:04 +00:00
Mark Baker 0ad3f67da6 Initial modifications for XML-based sheet readers to use XMLReader via streaming for large files in the listWorksheetNames() and listWorksheetInfo() methods... still needs some additional work for merged cells to work correctly, but gives a hell of a memory boost and executes more quickly - the same principles will be applied to the core data readers, but that still requires a lot more work. However, when completed, the effort should be worth it for both speed and memory usage, and the code should be a lot cleaner for the core data reader as well 2013-01-12 12:52:00 +00:00
Mark Baker 3d3543cb17 Bugfix: Work item GH-113 - canRead() Error for GoogleDocs ODS files: in ODS files from Google Docs there is no mimetype file 2013-01-03 17:49:56 +00:00
Mark Baker 979aa760c0 Only load list of locale files for calculation engine if setLocale() is explicitly called 2012-12-24 15:32:17 +00:00
Progi1984 da8ec6f86b Fix GH-8 / CP-11704 (Conditional formatting in Excel 5) 2012-12-18 00:46:53 +01:00
Mark Baker d13ca1f790 Bugfix: Work item GH-104 - echo statements in HTML.php 2012-12-11 21:55:46 +00:00
Mark Baker 62bf1b7a93 Bugfix: (teso) Work item 18551 - Rich Text containing UTF-8 characters creating unreadable content with Excel5 Writer 2012-12-11 17:54:23 +00:00
Mark Baker 487f4b79ec Bugfix: (manual merge from a pull request from amironov) Work item GH-82 - PHPExcel_Worksheet::getCellCollection() may not return last cached cell 2012-11-29 23:57:12 +00:00
Mark Baker a032194211 Minor style changes, and added timings to Examples 2012-11-28 21:30:58 +00:00
Mark Baker b98f27f4a7 Performance and memory improvements to Excel5 OLE Reader
Temporary fix to XML flush until I get it working correctly
Use of PHPExcel_Exception
2012-11-26 18:01:15 +00:00
Mark Baker d8debd0966 Minor tweaks and bugfixes 2012-11-25 17:56:27 +00:00
Mark Baker 7760d5ffc6 Merge branch 'develop' of https://github.com/PHPOffice/PHPExcel into develop 2012-11-25 12:27:36 +00:00
Mark Baker 7854955cff Bugfix: Work item 18963 - getSheetNames() fails on numeric (floating point style) names with trailing zeroes 2012-11-25 12:26:48 +00:00
Mark Baker 46b03b62b5 Merge pull request #93 from Slamdunk/hotfix/utf8-bom
Remove BOM
2012-11-25 03:30:09 -08:00
Filippo Tessarotto e525c695dd Fix key dereferencing 2012-11-25 09:01:45 +01:00
Filippo Tessarotto 06132e75b3 Remove BOM 2012-11-25 08:38:57 +01:00
Mark Baker 6bc4199675 Various tweaks and fixes 2012-11-24 22:48:44 +00:00
karak 0fd8af9cd8 add read/write page-break-preview in Excel5 2012-11-22 14:57:47 +09:00
karak c9610c936f read PageViewLayout 2012-11-22 14:49:55 +09:00
Mark Baker fd4161dcaa Bugfix: Work item 17976 - Fix to Excel2007 Reader for hyperlinks with an anchor fragment (following a #), otherwise they were treated as sheet references 2012-11-21 10:37:16 +00:00
Mark Baker 91de8c54e4 Modified applyFromArray() method of PHPExcel_Style to use PHPExcel::cellXfExists() call instead of expensive hash test. 2012-11-20 23:55:18 +00:00
Mark Baker d1ee820c10 Merge pull request #84 from amironov/duplicateStyle-search-by-identity
Search style by identity in PHPExcel_Worksheet::duplicateStyle()
2012-11-20 14:57:20 -08:00
Mark Baker 8a967b2996 Bugfix: Work item GH-67 - Cache directory for DiscISAM cache storage cannot be set 2012-11-20 22:25:12 +00:00
Mark Baker 4f070fc349 General: Work items 17936 and 17840 - Fix for environments where there is no access to /tmp but to upload_tmp_dir
Provided an option to set the sys_get_temp_dir() call to use the upload_tmp_dir; though by default the standard temp directory will still be used
2012-11-20 21:34:24 +00:00
Andrey Mironov 7884495d5d Use in_array in PHPExcel::cellXfExists() 2012-11-20 01:28:01 +06:00
Andrey Mironov db2a7cbabf Search style by identity in PHPExcel_Worksheet::duplicateStyle() 2012-11-20 01:28:00 +06:00
Progi1984 9a29129ec7 Fix GH-22 (Support of SheetView in Excel5 Writer) 2012-11-13 23:01:49 +01:00
Progi1984 9f04d888a1 IMPROVED : PHPDoc 2012-11-13 22:58:33 +01:00
Mark Baker 9907ef9030 Remove original JAMA tests 2012-11-09 09:46:36 +00:00
Mark Baker f2803e8690 Remove JAMA example files 2012-11-09 09:45:37 +00:00
Mark Baker 1f601e0ecf Bugfix: Work item 18844 - cache_in_memory_gzip "eats" last worksheet line, cache_in_memory doesn't 2012-11-09 01:24:44 +00:00
Mark Baker d2a6b4bc85 Added example using cell caching 2012-11-09 00:57:46 +00:00
Mark Baker 52099aabb2 Use temporary folder for temporary chart images in HTML Writer 2012-11-08 09:29:55 +00:00
Gemorroj b0d553909a fixed regression f3c4d056ed (L1R621)
minor phpdoc fixes
2012-11-08 11:46:54 +03:00
Mark Baker 2d6f3979d9 Test $this->_includeCharts before including charts in HTML Writer 2012-11-07 23:21:18 +00:00
Mark Baker 5a32eee110 z-indexing for charts in HTML Writer 2012-11-07 22:41:44 +00:00
Mark Baker 6934665c1b Additional work on chart functionality for HTML and PDF Writers
Examples for HTML and PDF chart writing
Various Docblock fixes
2012-11-07 19:57:25 +00:00
Mark Baker a33926431d Validate additional booleans attributes in LibreOffice saved xlsx files for 'true'/'false' instead of '1'/'0' 2012-11-07 10:13:45 +00:00
Mark Baker 9c213cc1cb xlsx files written by LibreOffice use "true" and "false" for boolean properties rather than "1" and "0" found in MS Excel generated xlsx files; modify Excel2007 Reader to handle both options 2012-11-07 09:34:31 +00:00
Mark Baker f3c4d056ed Move UTF-8 StrToUpper(), StrToLower() and StrToTitle() methods from Text Calculation class to Shared String Class
Doc comments for methods in writer abstract
2012-11-06 22:53:58 +00:00
Mark Baker cce77bad0e Cleanup of refactored writers 2012-11-05 23:34:02 +00:00
Mark Baker 59a938c4dd Refactor common writer settings/methods into an abstract writer class 2012-11-05 22:42:58 +00:00
Mark Baker d50e73f066 Refactor common reader settings/methods into an abstract reader class 2012-11-05 21:23:38 +00:00
Mark Baker f7268cdd65 Initial (as yet untested) code to include Excel charts in HTML and PDF output 2012-11-05 00:50:21 +00:00
Mark Baker 016ee6e4d8 Some refactoring of PDF renderer wrappers and PDF Writer 2012-11-03 23:44:10 +00:00
Mark Baker 0ad1c8b585 Factor timezone methods to a separate helper class 2012-11-03 21:52:55 +00:00
Mark Baker 53a32ce7f7 Providing support for timezone adjustments in date/time conversion methods 2012-11-02 23:07:01 +00:00
Mark Baker 63c5cbc98e Merge branch 'develop' of https://github.com/PHPOffice/PHPExcel into develop 2012-10-31 22:01:09 +00:00
Mark Baker 531803a919 Change Writer exceptions to PHPExcel_Writer_Exception 2012-10-31 22:00:40 +00:00
Mark Baker f4e949e3a1 Merge pull request #63 from alexgann/patch-1
Fix to cellExists for non-existent namedRanges. Thanks for the catch
2012-10-30 14:17:01 -07:00
Progi1984 4a76eeb5dd IMPROVED : Encoding UTF-8 for generating PHPDoc 2012-10-30 09:32:49 +01:00
Mark Baker e0529485b7 Change Reader exceptions to PHPExcel_Reader_Exception 2012-10-29 23:51:09 +00:00
Mark Baker 8f3640e44c Change reader exceptions to PHPExcel_Reader_Exception 2012-10-29 23:48:29 +00:00
Mark Baker d66f61bfbb Merge pull request #70 from techhead/fix_insertNewBefore
Fixed formula/formatting bug when removing rows
2012-10-28 13:57:51 -07:00
Mark Baker 12525c804b Merge pull request #69 from kea/AVB_currency
Improved AdvancedValueBinder for currency
2012-10-27 01:35:18 -07:00
Mark Baker 9be433af58 Minor charting fixes 2012-10-27 00:02:38 +01:00
Mark Baker a3303cd05e Ensure that signature of bindParent() in style class overrides matches the signature of bindParent() in the supervisor 2012-10-26 14:56:58 +01:00
Jonathan Hawkes f99fc61e0d Fixed formula/formatting bug when removing rows 2012-10-25 09:54:12 -04:00
Mark Baker 45f2829a33 Bugfix: Work item GH-66 - Wrong check for maximum number of rows in Excel5 Writer 2012-10-25 12:57:48 +01:00
Manuel Kea Baldassarri d1f172d8d6 Improved AdvancedValueBinder for currency. 2012-10-25 12:44:47 +02:00
Mark Baker 701ff5adf1 Upload missing style supervisor 2012-10-24 17:07:55 +01:00
Mark Baker 163a9ca5b9 Refactoring of style classes to use an abstract supervisor 2012-10-23 13:16:30 +01:00
alexgann 4748b88d9c Fix to cellExists for non-existent namedRanges
Found an issue where cellExists was failing on a non-existent namedRange
as it was flowing down to the coordinateFromString (1217) call.  Proposed
change trusts the REGEXP check and if $namedRange == NULL after all
then simply return false (ie the cell does not exist).
2012-10-19 13:38:26 -03:00
Marcus Bointon 037c2748f3 Change use of is_a() to use instanceof
While is_a() is no longer deprecated, there are bound to be some people using PHP versions that still have it marked as deprecated.
This is the only occurrence of is_a in the whole of PHPExcel; everywhere else it's using instanceof, so I figured it would be sensible to make it consistent.
2012-10-18 17:11:45 +03:00
Mark Baker b2a26349d4 Bugfix: Work item 18794 - CSV files without a file extension being identified as HTML 2012-10-16 13:39:59 +01:00
Mark Baker 7b8533a504 Minor bugfix to calculation engine formula validation (unbalanced braces) 2012-10-13 22:07:36 +01:00
Mark Baker e46513043e Fix to X-Axis labels when writing chart DataSeriesValues.php
Addition of an example for creating a radar chart
2012-10-13 17:24:11 +01:00
Mark Baker dfcd839e61 Suppress jpgraph rendered legend if not displayed in Excel; ensure that left or right legends display as single column for each entry 2012-10-10 13:03:14 +01:00
Mark Baker 364f581ee4 Fix to x-axis labels for chart rendering
Fix to page orientation for DomPDF renderer
2012-10-10 12:31:05 +01:00
Mark Baker 3f981d84d4 Move calculator token stack class into its own file 2012-10-07 11:31:08 +01:00
Mark Baker a62b133540 Fix to colour settings in jpgraph renderer and initial version of example code for rendering
charts as images
2012-10-07 10:30:15 +01:00
Mark Baker 8900a49d4e Minor bugfixes 2012-10-04 21:48:27 +01:00
Mark Baker 4c88a30abd Feature: Allow call to font setUnderline() for underline format to specify a simple boolean for UNDERLINE_NONE or UNDERLINE_SINGLE 2012-09-25 12:41:25 +01:00
Mark Baker f2bfda68e9 Fixed the OOCalc Reader that I broke a few days ago 2012-09-24 11:42:20 +01:00
Mark Baker 072dd6f23e Merge branch 'develop' of https://github.com/PHPOffice/PHPExcel into develop 2012-09-20 00:28:23 +01:00
Mark Baker 660e7e723b Example of creating Pie and Donut charts
Bugfix: Discard single cell merge ranges when reading (stupid that Excel allows them in the first place)
Bugfix: Discard hidden autoFilter named ranges
2012-09-20 00:26:49 +01:00
Mark Baker 9f042a8540 Feature: Added fraction tests to advanced value binder 2012-09-18 22:43:09 +01:00
Mark Baker d7e4aaf80b Data labels for charts 2012-09-17 23:23:55 +01:00
Mark Baker fb6ad92fd4 Minor bugfixes 2012-09-16 23:28:03 +01:00
Mark Baker 0f5b94daeb Row zeroHeight should default to false 2012-09-14 12:12:15 +01:00
Mark Baker 893086df31 Turkish language pack 2012-09-14 00:52:10 +01:00
Mark Baker 0dac1e1ab5 General: (Raghav1981) ZeroHeight for rows in sheet format 2012-09-09 11:38:32 +01:00
Mark Baker 23fe9937fe Bugfix: Work item 18598 - Cannot access private property PHPExcel_CachedObjectStorageFactory::$_cacheStorageMethod 2012-09-06 23:40:39 +01:00
Mark Baker f87ca1419d Use class_exists() with FALSE second argument 2012-09-06 22:56:56 +01:00
Mark Baker 9820b46649 Merge pull request #40 from qpautrat/fix-file-exist
Fix condition on existing file
2012-09-05 17:12:30 -07:00
Mark Baker 2d6ad66f0c Feature: Excel compatibility option added for writing CSV files
While Excel 2010 can read CSV files with a simple UTF-8 BOM, Excel2007 and earlier require UTF-16LE encoded tab-separated files.
The new setExcelCompatibility(TRUE) option for the CSV Writer will generate files with this formatting for easy import into Excel2007 and below.
2012-09-05 14:12:00 +01:00
qpautrat 5af0226a66 Fix condition on existing file 2012-09-05 13:12:51 +02:00
Mark Baker a376606bd2 - Bugfix: Work item 18425 - Problems with $_activeSheetIndex when decreased below 0. 2012-09-04 12:46:30 +01:00
Mark Baker 13f227c4f2 Additional chart creation examples 2012-09-02 12:06:48 +01:00
Mark Baker 5ed20761c6 Handle custom blank autofilter rule in show/hide 2012-08-29 13:20:33 +01:00
Mark Baker 2f4620c3f9 Improve cloning of worksheet to handle autoFilter area cleanly 2012-08-29 00:24:13 +01:00
Mark Baker dbe64c5044 New chart examples, and column ordering in autofilter expressions 2012-08-25 14:40:25 +01:00
Mark Baker e419b92765 Autofilter expressions - TopTen, and minor patches 2012-08-24 23:38:18 +01:00
Mark Baker ef3ea158e4 Add a couple of test examples for autofilter expressions 2012-08-23 23:40:51 +01:00
Mark Baker 85eabc21aa Various bugfixes including Excel2007 Writer order of font style elements to conform with Excel2003 using compatibility pack 2012-08-23 00:16:40 +01:00
Mark Baker 8c688358ba Elimination of a potential XSS vulnerability in JAMA documentation
JAMA docs are no longer up-to-date anyway
2012-08-21 23:15:17 +01:00
Mark Baker ef2de9cc5e Github Issue #32 - Insert column VS autofilter 2012-08-21 22:32:16 +01:00
Mark Baker 2b91cb0c2c Suppress autofilter row show/hide while diagnostics still in code 2012-08-19 23:59:22 +01:00
Mark Baker 83b8e9dad3 Bugfix: (wolf5x) Work item 18492 - load file failed if the file has no extensionType 2012-08-19 23:57:16 +01:00
Mark Baker b00f6d4c4c AutoFilter unit tests 2012-08-19 23:17:12 +01:00
Mark Baker 61bc7c8e98 Autofilter show/hide for all dynamic types now complete (still with
debugs)
2012-08-19 11:14:34 +01:00
Mark Baker f9a1267697 Dynamic autofilter show/hide rows for this/next/last
week/month/quarter/year etc
2012-08-18 23:41:16 +01:00
Mark Baker 960f5a32a2 Range argument tests with default value in cell range methods, and further
AutoFilter expression evaluation for dynamic filters
2012-08-16 22:53:13 +01:00
Mark Baker bb0d413a67 Fix to dynamic autofilter expression in writer, preventing writing
blanks="1"
2012-08-16 00:29:07 +01:00
Mark Baker 83afa87bf3 Fixed broken build after recent autofilter changes 2012-08-15 13:20:34 +01:00
Mark Baker 18920d60c7 Merge pull request #25 from alexgann/patch-2
Add cell indent to html rendering
2012-08-13 05:09:42 -07:00
Mark Baker db1f8c98f0 The bulk of the autofilter expressions work for Excel2007, including
documentation
2012-08-13 00:14:51 +01:00
alexgann dae529615e Add cell indent to html rendering
Quick one-liner to render cell indents in html as padding. 9px seems to be what Excel uses internally
2012-08-10 21:34:39 -03:00
unknown 303a6443ed Initial Writer code for autofilter selections 2012-08-09 21:26:33 +01:00
unknown 1bd83a115e Merge branch 'develop' into autofilter 2012-08-09 12:41:46 +01:00