Commit Graph

57 Commits

Author SHA1 Message Date
Mark Baker f05f66fa82 Eliminate some code duplication 2013-02-11 14:11:36 +00: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 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
Mark Baker 9a085abd7d Minor memory and performance improvements 2013-01-31 12:13:31 +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 979aa760c0 Only load list of locale files for calculation engine if setLocale() is explicitly called 2012-12-24 15:32:17 +00:00
Mark Baker 7b8533a504 Minor bugfix to calculation engine formula validation (unbalanced braces) 2012-10-13 22:07:36 +01:00
Mark Baker 3f981d84d4 Move calculator token stack class into its own file 2012-10-07 11:31:08 +01:00
Mark Baker fb6ad92fd4 Minor bugfixes 2012-09-16 23:28:03 +01:00
Mark Baker 6fcec48233 Enable DAVERAGE() Excel function
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@88401 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-03-25 22:23:30 +00:00
Mark Baker 891981928d Doc Block changes
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@87638 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-03-11 17:58:38 +00:00
Mark Baker 22404188a0 Work Item 17516 - Issue #1 fix bad cut-and-paste
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@87244 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-03-03 20:22:13 +00:00
Mark Baker b18939b29d Minor fixes for strict standards
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@86471 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-02-14 13:48:09 +00:00
Mark Baker b41407743e Whoopsee... managed to introduce a bug when changing is_null() to === NULL for performance reasons, and reversed the logic of the test..... this is the fix
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@86204 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-02-08 22:33:31 +00:00
Mark Baker 9c2ceed08d Minor performance tweaks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@85743 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-01-25 23:07:22 +00:00
Mark Baker 2cce9b754d Minor performance tweaks and adjustments to Excel functions to handle a few envelope test cases
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@85742 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-01-25 22:07:35 +00:00
Mark Baker 21cce674c8 Fix to inappropriate replacement of count() with empty().... there may be others I've not spotted yet.
Improved debuglog in calculation engine.

git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@85403 2327b42d-5241-43d6-9e2a-de5ac946f064
2012-01-17 21:57:06 +00:00
Mark Baker 68a0930f67 Bugfix: Work item 16960 - Previous calculation engine error conditions trigger cyclic reference errors
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@83263 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-11-25 14:37:47 +00:00
Mark Baker f2076cde3f Bugfix: Work item 16956 - External links in Excel2010 files cause Fatal error
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@83261 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-11-25 13:34:08 +00:00
Mark Baker c7f99d0d98 Bugfix: Work item 15707 - ini_set() call in Calculation class destructor
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@72060 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-04-19 21:40:35 +00:00
Mark Baker 70f773f0ca Bugfix: Support for Excel functions whose return can be used as either a value or as a cell reference depending on its context within a formula
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@71420 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-04-05 21:57:59 +00:00
Mark Baker f08f16c8ca General: Work item 15461 - Locale file paths not fit for windows
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@69731 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-03-04 14:22:08 +00:00
Mark Baker cfaa5209f7 General: Work item 15405 - Two easy to fix Issues concerning PHPExcel_Token_Stack (l10n/UC)
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@69508 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-28 00:32:55 +00:00
Mark Baker aedff36d4e Bugfix: Work item 15409 - Full column/row references in named ranges not supported by updateCellReference()
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@69495 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-27 22:33:42 +00:00
Mark Baker a07dd58fc7 Added listAllFunctionNames() method to the Calculation Engine, and modified the listFunctionNames() method to return only implemented functions
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@69154 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-22 13:57:15 +00:00
Mark Baker a8517724dc Bugfix: Work item 15379 - Named ranges with dot don't get parsed properly
Bugfix:	Work item 15096 - insertNewRowBefore fails to consistently update references
Bugfix:	"i" is not a valid character for Excel date format masks (in isDateTimeFormatCode() method)


git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@69064 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-21 12:21:20 +00:00
Mark Baker 2dcead065d Fixed bug in translation functions of the calculation engine
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@68887 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-18 17:39:58 +00:00
Mark Baker 7425aa8460 Feature: Work Item 2346 - Implement more Excel calculation functions
Implemented the DGET() Database function

git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@68576 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-13 17:19:00 +00:00
Mark Baker c5c816a9c6 Feature: Work Item 2346 - Implement more Excel calculation functions
Implemented the DAVERAGE(), DCOUNT(), DCOUNTA(), DMAX(), DMIN(), DPRODUCT(), DSTDEV(), DSTDEVP(), DSUM(), DVAR() and DVARP() Database functions

git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@68574 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-13 17:08:00 +00:00
Mark Baker 8a00ef61e8 Added debug log echo option to Calculation Engine (for PHPExcel development team debugging use only)
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@68482 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-11 22:45:17 +00:00
Mark Baker 0fd77aa397 Minor performance tweaks when working with alternating blocks in a string
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@68309 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-02-10 12:39:34 +00:00
Mark Baker a7d2134271 Fix to a problem that I introduced with last night's changes to precision in the calculation engine
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@67429 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-01-26 09:40:40 +00:00
Mark Baker 59e85a379d Added flushInstance() method to clear the calculation cache, but only if the calculation engine has been instantiated.
Moved precision setting from functions.php to the calculation engine constructor, with a reset when the calculation engine instance is unset... will be of value when I switch the code to support a calculation engine/cache with each instantiated PHPExcel object.

git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@67403 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-01-25 23:11:32 +00:00
Mark Baker 1c6fa7b5ab Bugfix: Work item 15046 - 1.7.5 fails cell->getCalculatedValue()
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@66479 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-01-05 17:53:17 +00:00
Maarten Balliauw ccbb28167b Updated headers to reflect the new year. Happy new year 2011!
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@66338 2327b42d-5241-43d6-9e2a-de5ac946f064
2011-01-03 09:20:10 +00:00
Mark Baker d027a3d0a7 Bugfix: Calc engine needs to use Ungreedy regexp in parser
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@65727 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-12-24 12:08:31 +00:00
Mark Baker 7a792cd566 Bugfix: Work item 14898 - PHP Warning: preg_match(): Compilation failed: PCRE does not support \\L, \\l, \\N, \\P, \\p, \\U, \\u, or \\X
Bugfix:	Work item 14901 - VLOOKUP choking on parameters in PHPExcel.1.7.5/PHPExcel_Writer_Excel2007

git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@65692 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-12-23 21:18:23 +00:00
Mark Baker c5ea92442d Performance improvements for the Excel5 Reader and Writer
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64968 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-12-07 17:34:47 +00:00
Mark Baker 787dae6334 Performance tweaks to the Calculation Engine to reduce memory usage. Splitting the functions.php into several smaller classes based on function category, so that only those category files actually used by functions in formulae will be included by the autoloader
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64719 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-12-02 17:56:33 +00:00
Mark Baker 506eabdbf7 Minor performance tweaks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64389 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-26 13:31:51 +00:00
Mark Baker 9641c16df0 Memory and Performance Improvements
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64204 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-23 17:24:29 +00:00
Mark Baker 4da85678d4 Minor performance tweaks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64175 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-23 00:05:20 +00:00
Mark Baker 29c4b1db5f Some general performance tweaks, and some specific to the Excel2007 Writer
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64159 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-22 18:00:22 +00:00
Mark Baker 606f43a086 Performance tweaks, particularly using standard binary operations rather than matrix operations when working with single cell operands
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64078 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-20 23:36:20 +00:00
Mark Baker bd46652fb1 Minor performance tweaks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@63786 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-16 16:44:32 +00:00
Mark Baker 012348ac4a Minor performance tweak
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@63742 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-15 13:38:48 +00:00
Mark Baker 9c9657a2e2 Minor performance tweaks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@63709 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-14 17:56:00 +00:00
Mark Baker 51dc3403ff Minor performance tweaks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@63695 2327b42d-5241-43d6-9e2a-de5ac946f064
2010-11-13 23:33:20 +00:00