mirror of
https://github.com/retailcrm/PHPExcel.git
synced 2025-02-17 06:53:16 +03:00
Initial work on namespacing - note, requires PHP 5.3.x minimum
This commit is contained in:
parent
a7ddcc5e68
commit
ffed9ab702
156
Classes/Autoloader.php
Normal file
156
Classes/Autoloader.php
Normal file
@ -0,0 +1,156 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPExcel
|
||||
*
|
||||
* Copyright (c) 2006 - 2013 PHPExcel
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel\Autoloader
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class Autoloader
|
||||
{
|
||||
private $_fileExtension = '.php';
|
||||
private $_namespace;
|
||||
private $_includePath;
|
||||
private $_namespaceSeparator = '\\';
|
||||
|
||||
/**
|
||||
* Creates a new SplClassLoader that loads classes of the
|
||||
* specified namespace.
|
||||
*
|
||||
* @param string $namespace The namespace to use.
|
||||
* @param string $includePath The directory path for that namespace.
|
||||
*/
|
||||
public function __construct($namespace = null, $includePath = null)
|
||||
{
|
||||
$this->_namespace = $namespace;
|
||||
$this->_includePath = $includePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the namespace separator used by classes in the namespace of this class loader.
|
||||
*
|
||||
* @param string $sep The separator to use.
|
||||
*/
|
||||
public function setNamespaceSeparator($sep)
|
||||
{
|
||||
$this->_namespaceSeparator = $sep;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the namespace seperator used by classes in the namespace of this class loader.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function getNamespaceSeparator()
|
||||
{
|
||||
return $this->_namespaceSeparator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the base include path for all class files in the namespace of this class loader.
|
||||
*
|
||||
* @param string $includePath
|
||||
*/
|
||||
public function setIncludePath($includePath)
|
||||
{
|
||||
$this->_includePath = $includePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the base include path for all class files in the namespace of this class loader.
|
||||
*
|
||||
* @return string $includePath
|
||||
*/
|
||||
public function getIncludePath()
|
||||
{
|
||||
return $this->_includePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the file extension of class files in the namespace of this class loader.
|
||||
*
|
||||
* @param string $fileExtension
|
||||
*/
|
||||
public function setFileExtension($fileExtension)
|
||||
{
|
||||
$this->_fileExtension = $fileExtension;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the file extension of class files in the namespace of this class loader.
|
||||
*
|
||||
* @return string $fileExtension
|
||||
*/
|
||||
public function getFileExtension()
|
||||
{
|
||||
return $this->_fileExtension;
|
||||
}
|
||||
|
||||
/**
|
||||
* Installs this class loader on the SPL autoload stack.
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
spl_autoload_register(array($this, 'loadClass'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Uninstalls this class loader from the SPL autoloader stack.
|
||||
*/
|
||||
public function unregister()
|
||||
{
|
||||
spl_autoload_unregister(array($this, 'loadClass'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $className The name of the class to load.
|
||||
* @return void
|
||||
*/
|
||||
public function loadClass($className)
|
||||
{
|
||||
echo 'Load Class ', $className, PHP_EOL;
|
||||
if (null === $this->_namespace || $this->_namespace.$this->_namespaceSeparator === substr($className, 0, strlen($this->_namespace.$this->_namespaceSeparator))) {
|
||||
$fileName = '';
|
||||
$namespace = '';
|
||||
if (false !== ($lastNsPos = strripos($className, $this->_namespaceSeparator))) {
|
||||
$namespace = substr($className, 0, $lastNsPos);
|
||||
$className = substr($className, $lastNsPos + 1);
|
||||
$fileName = str_replace($this->_namespaceSeparator, DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
|
||||
}
|
||||
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . $this->_fileExtension;
|
||||
|
||||
require ($this->_includePath !== null ? $this->_includePath . DIRECTORY_SEPARATOR : '') . $fileName;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
48
Classes/Bootstrap.php
Normal file
48
Classes/Bootstrap.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPExcel
|
||||
*
|
||||
* Copyright (c) 2006 - 2013 PHPExcel
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/** PHPOffice root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/');
|
||||
}
|
||||
|
||||
include PHPEXCEL_ROOT . 'Autoloader.php';
|
||||
|
||||
$autoloader = new Autoloader('PHPExcel', PHPEXCEL_ROOT);
|
||||
$autoloader->register();
|
||||
|
||||
// As we always try to run the autoloader before anything else, we can use it to do a few
|
||||
// simple checks and initialisations
|
||||
// check mbstring.func_overload
|
||||
if (ini_get('mbstring.func_overload') & 2) {
|
||||
throw new Exception('Multibyte function overloading in PHP must be disabled for string functions (2).');
|
||||
}
|
||||
Shared_String::buildCharacterSets();
|
||||
|
||||
|
@ -1,85 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPExcel
|
||||
*
|
||||
* Copyright (c) 2006 - 2013 PHPExcel
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
PHPExcel_Autoloader::Register();
|
||||
// As we always try to run the autoloader before anything else, we can use it to do a few
|
||||
// simple checks and initialisations
|
||||
//PHPExcel_Shared_ZipStreamWrapper::register();
|
||||
// check mbstring.func_overload
|
||||
if (ini_get('mbstring.func_overload') & 2) {
|
||||
throw new PHPExcel_Exception('Multibyte function overloading in PHP must be disabled for string functions (2).');
|
||||
}
|
||||
PHPExcel_Shared_String::buildCharacterSets();
|
||||
|
||||
|
||||
/**
|
||||
* PHPExcel_Autoloader
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Autoloader
|
||||
{
|
||||
/**
|
||||
* Register the Autoloader with SPL
|
||||
*
|
||||
*/
|
||||
public static function Register() {
|
||||
if (function_exists('__autoload')) {
|
||||
// Register any existing autoloader function with SPL, so we don't get any clashes
|
||||
spl_autoload_register('__autoload');
|
||||
}
|
||||
// Register ourselves with SPL
|
||||
return spl_autoload_register(array('PHPExcel_Autoloader', 'Load'));
|
||||
} // function Register()
|
||||
|
||||
|
||||
/**
|
||||
* Autoload a class identified by name
|
||||
*
|
||||
* @param string $pClassName Name of the object to load
|
||||
*/
|
||||
public static function Load($pClassName){
|
||||
if ((class_exists($pClassName,FALSE)) || (strpos($pClassName, 'PHPExcel') !== 0)) {
|
||||
// Either already loaded, or not a PHPExcel class request
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$pClassFilePath = PHPEXCEL_ROOT .
|
||||
str_replace('_',DIRECTORY_SEPARATOR,$pClassName) .
|
||||
'.php';
|
||||
|
||||
if ((file_exists($pClassFilePath) === FALSE) || (is_readable($pClassFilePath) === FALSE)) {
|
||||
// Can't load
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
require($pClassFilePath);
|
||||
} // function Load()
|
||||
|
||||
}
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_APC
|
||||
* PHPExcel\CachedObjectStorage_APC
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_APC extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Prefix used to uniquely identify cache data for this worksheet
|
||||
@ -58,7 +60,7 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
*
|
||||
* @access private
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -66,7 +68,7 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
|
||||
if (!apc_store($this->_cachePrefix.$this->_currentObjectID.'.cache',serialize($this->_currentObject),$this->_cacheTime)) {
|
||||
$this->__destruct();
|
||||
throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in APC');
|
||||
throw new Exception('Failed to store cell '.$this->_currentObjectID.' in APC');
|
||||
}
|
||||
$this->_currentCellIsDirty = false;
|
||||
}
|
||||
@ -79,11 +81,11 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
*
|
||||
* @access public
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -98,7 +100,7 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
|
||||
|
||||
/**
|
||||
* Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell?
|
||||
* Is a value set in the current PHPExcel\CachedObjectStorage_ICache for an indexed cell?
|
||||
*
|
||||
* @access public
|
||||
* @param string $pCoord Coordinate address of the cell to check
|
||||
@ -116,7 +118,7 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
if ($success === FALSE) {
|
||||
// Entry no longer exists in APC, so clear it from the cache array
|
||||
parent::deleteCacheData($pCoord);
|
||||
throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in APC cache');
|
||||
throw new Exception('Cell entry '.$pCoord.' no longer exists in APC cache');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -129,8 +131,8 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
*
|
||||
* @access public
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -144,7 +146,7 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
if ($obj === FALSE) {
|
||||
// Entry no longer exists in APC, so clear it from the cache array
|
||||
parent::deleteCacheData($pCoord);
|
||||
throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in APC cache');
|
||||
throw new Exception('Cell entry '.$pCoord.' no longer exists in APC cache');
|
||||
}
|
||||
} else {
|
||||
// Return null if requested entry doesn't exist in cache
|
||||
@ -181,7 +183,7 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
*
|
||||
* @access public
|
||||
* @param string $pCoord Coordinate address of the cell to delete
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function deleteCacheData($pCoord) {
|
||||
// Delete the entry from APC
|
||||
@ -196,11 +198,11 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @access public
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @throws PHPExcel\Exception
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
parent::copyCellCollection($parent);
|
||||
// Get a new id for the new file name
|
||||
$baseUnique = $this->_getUniqueID();
|
||||
@ -212,11 +214,11 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
if ($obj === FALSE) {
|
||||
// Entry no longer exists in APC, so clear it from the cache array
|
||||
parent::deleteCacheData($cellID);
|
||||
throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in APC');
|
||||
throw new Exception('Cell entry '.$cellID.' no longer exists in APC');
|
||||
}
|
||||
if (!apc_store($newCachePrefix.$cellID.'.cache',$obj,$this->_cacheTime)) {
|
||||
$this->__destruct();
|
||||
throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in APC');
|
||||
throw new Exception('Failed to store cell '.$cellID.' in APC');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -248,10 +250,10 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
* @param array of mixed $arguments Additional initialisation arguments
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent, $arguments) {
|
||||
public function __construct(Worksheet $parent, $arguments) {
|
||||
$cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600;
|
||||
|
||||
if ($this->_cachePrefix === NULL) {
|
||||
|
@ -19,33 +19,35 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_CacheBase
|
||||
* PHPExcel\CachedObjectStorage_CacheBase
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
||||
abstract class CachedObjectStorage_CacheBase {
|
||||
|
||||
/**
|
||||
* Parent worksheet
|
||||
*
|
||||
* @var PHPExcel_Worksheet
|
||||
* @var PHPExcel\Worksheet
|
||||
*/
|
||||
protected $_parent;
|
||||
|
||||
/**
|
||||
* The currently active Cell
|
||||
*
|
||||
* @var PHPExcel_Cell
|
||||
* @var PHPExcel\Cell
|
||||
*/
|
||||
protected $_currentObject = null;
|
||||
|
||||
@ -76,11 +78,11 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent) {
|
||||
public function __construct(Worksheet $parent) {
|
||||
// Set our parent worksheet.
|
||||
// This is maintained within the cache controller to facilitate re-attaching it to PHPExcel_Cell objects when
|
||||
// This is maintained within the cache controller to facilitate re-attaching it to PHPExcel\Cell objects when
|
||||
// they are woken from a serialized state
|
||||
$this->_parent = $parent;
|
||||
} // function __construct()
|
||||
@ -89,7 +91,7 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
||||
/**
|
||||
* Return the parent worksheet for this cell collection
|
||||
*
|
||||
* @return PHPExcel_Worksheet
|
||||
* @return PHPExcel\Worksheet
|
||||
*/
|
||||
public function getParent()
|
||||
{
|
||||
@ -97,7 +99,7 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell?
|
||||
* Is a value set in the current PHPExcel\CachedObjectStorage_ICache for an indexed cell?
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to check
|
||||
* @return boolean
|
||||
@ -135,11 +137,11 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
||||
/**
|
||||
* Add or Update a cell in cache
|
||||
*
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function updateCacheData(PHPExcel_Cell $cell) {
|
||||
public function updateCacheData(Cell $cell) {
|
||||
return $this->addCacheData($cell->getCoordinate(),$cell);
|
||||
} // function updateCacheData()
|
||||
|
||||
@ -148,7 +150,7 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
||||
* Delete a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to delete
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function deleteCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -291,10 +293,10 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
$this->_currentCellIsDirty;
|
||||
$this->_storeData();
|
||||
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_DiscISAM
|
||||
* PHPExcel\CachedObjectStorage_DiscISAM
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_DiscISAM extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_DiscISAM extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Name of the file for this cache
|
||||
@ -62,7 +64,7 @@ class PHPExcel_CachedObjectStorage_DiscISAM extends PHPExcel_CachedObjectStorage
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -84,11 +86,11 @@ class PHPExcel_CachedObjectStorage_DiscISAM extends PHPExcel_CachedObjectStorage
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -105,8 +107,8 @@ class PHPExcel_CachedObjectStorage_DiscISAM extends PHPExcel_CachedObjectStorage
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -149,10 +151,10 @@ class PHPExcel_CachedObjectStorage_DiscISAM extends PHPExcel_CachedObjectStorage
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
parent::copyCellCollection($parent);
|
||||
// Get a new id for the new file name
|
||||
$baseUnique = $this->_getUniqueID();
|
||||
@ -188,13 +190,13 @@ class PHPExcel_CachedObjectStorage_DiscISAM extends PHPExcel_CachedObjectStorage
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
* @param array of mixed $arguments Additional initialisation arguments
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent, $arguments) {
|
||||
public function __construct(Worksheet $parent, $arguments) {
|
||||
$this->_cacheDirectory = ((isset($arguments['dir'])) && ($arguments['dir'] !== NULL))
|
||||
? $arguments['dir']
|
||||
: PHPExcel_Shared_File::sys_get_temp_dir();
|
||||
: Shared_File::sys_get_temp_dir();
|
||||
|
||||
parent::__construct($parent);
|
||||
if (is_null($this->_fileHandle)) {
|
||||
|
@ -19,47 +19,49 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_ICache
|
||||
* PHPExcel\CachedObjectStorage_ICache
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
interface PHPExcel_CachedObjectStorage_ICache
|
||||
interface CachedObjectStorage_ICache
|
||||
{
|
||||
/**
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell);
|
||||
public function addCacheData($pCoord, Cell $cell);
|
||||
|
||||
/**
|
||||
* Add or Update a cell in cache
|
||||
*
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function updateCacheData(PHPExcel_Cell $cell);
|
||||
public function updateCacheData(Cell $cell);
|
||||
|
||||
/**
|
||||
* Fetch a cell from cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to retrieve
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function getCacheData($pCoord);
|
||||
|
||||
@ -67,12 +69,12 @@ interface PHPExcel_CachedObjectStorage_ICache
|
||||
* Delete a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to delete
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function deleteCacheData($pCoord);
|
||||
|
||||
/**
|
||||
* Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell?
|
||||
* Is a value set in the current PHPExcel\CachedObjectStorage_ICache for an indexed cell?
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to check
|
||||
* @return boolean
|
||||
@ -96,10 +98,10 @@ interface PHPExcel_CachedObjectStorage_ICache
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent);
|
||||
public function copyCellCollection(Worksheet $parent);
|
||||
|
||||
/**
|
||||
* Identify whether the caching method is currently available
|
||||
|
@ -19,28 +19,30 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_Igbinary
|
||||
* PHPExcel\CachedObjectStorage_Igbinary
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_Igbinary extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_Igbinary extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Store cell data in cache for the current cell object if it's "dirty",
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -57,11 +59,11 @@ class PHPExcel_CachedObjectStorage_Igbinary extends PHPExcel_CachedObjectStorage
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -78,8 +80,8 @@ class PHPExcel_CachedObjectStorage_Igbinary extends PHPExcel_CachedObjectStorage
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_Memcache
|
||||
* PHPExcel\CachedObjectStorage_Memcache
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_Memcache extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Prefix used to uniquely identify cache data for this worksheet
|
||||
@ -62,7 +64,7 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -72,7 +74,7 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
if (!$this->_memcache->replace($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) {
|
||||
if (!$this->_memcache->add($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) {
|
||||
$this->__destruct();
|
||||
throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in MemCache');
|
||||
throw new Exception('Failed to store cell '.$this->_currentObjectID.' in MemCache');
|
||||
}
|
||||
}
|
||||
$this->_currentCellIsDirty = false;
|
||||
@ -85,11 +87,11 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -104,7 +106,7 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
|
||||
|
||||
/**
|
||||
* Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell?
|
||||
* Is a value set in the current PHPExcel\CachedObjectStorage_ICache for an indexed cell?
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to check
|
||||
* @return void
|
||||
@ -121,7 +123,7 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
if ($success === false) {
|
||||
// Entry no longer exists in Memcache, so clear it from the cache array
|
||||
parent::deleteCacheData($pCoord);
|
||||
throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache');
|
||||
throw new Exception('Cell entry '.$pCoord.' no longer exists in MemCache');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -133,8 +135,8 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -148,7 +150,7 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
if ($obj === false) {
|
||||
// Entry no longer exists in Memcache, so clear it from the cache array
|
||||
parent::deleteCacheData($pCoord);
|
||||
throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache');
|
||||
throw new Exception('Cell entry '.$pCoord.' no longer exists in MemCache');
|
||||
}
|
||||
} else {
|
||||
// Return null if requested entry doesn't exist in cache
|
||||
@ -184,7 +186,7 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
* Delete a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to delete
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function deleteCacheData($pCoord) {
|
||||
// Delete the entry from Memcache
|
||||
@ -198,10 +200,11 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @throws PHPExcel\Exception
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
parent::copyCellCollection($parent);
|
||||
// Get a new id for the new file name
|
||||
$baseUnique = $this->_getUniqueID();
|
||||
@ -213,16 +216,16 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
if ($obj === false) {
|
||||
// Entry no longer exists in Memcache, so clear it from the cache array
|
||||
parent::deleteCacheData($cellID);
|
||||
throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in MemCache');
|
||||
throw new Exception('Cell entry '.$cellID.' no longer exists in MemCache');
|
||||
}
|
||||
if (!$this->_memcache->add($newCachePrefix.$cellID.'.cache',$obj,NULL,$this->_cacheTime)) {
|
||||
$this->__destruct();
|
||||
throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in MemCache');
|
||||
throw new Exception('Failed to store cell '.$cellID.' in MemCache');
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->_cachePrefix = $newCachePrefix;
|
||||
} // function copyCellCollection()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@ -249,10 +252,10 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
* @param array of mixed $arguments Additional initialisation arguments
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent, $arguments) {
|
||||
public function __construct(Worksheet $parent, $arguments) {
|
||||
$memcacheServer = (isset($arguments['memcacheServer'])) ? $arguments['memcacheServer'] : 'localhost';
|
||||
$memcachePort = (isset($arguments['memcachePort'])) ? $arguments['memcachePort'] : 11211;
|
||||
$cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600;
|
||||
@ -264,13 +267,13 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
// Set a new Memcache object and connect to the Memcache server
|
||||
$this->_memcache = new Memcache();
|
||||
if (!$this->_memcache->addServer($memcacheServer, $memcachePort, false, 50, 5, 5, true, array($this, 'failureCallback'))) {
|
||||
throw new PHPExcel_Exception('Could not connect to MemCache server at '.$memcacheServer.':'.$memcachePort);
|
||||
throw new Exception('Could not connect to MemCache server at '.$memcacheServer.':'.$memcachePort);
|
||||
}
|
||||
$this->_cacheTime = $cacheTime;
|
||||
|
||||
parent::__construct($parent);
|
||||
}
|
||||
} // function __construct()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@ -278,10 +281,10 @@ class PHPExcel_CachedObjectStorage_Memcache extends PHPExcel_CachedObjectStorage
|
||||
*
|
||||
* @param string $host Memcache server
|
||||
* @param integer $port Memcache port
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function failureCallback($host, $port) {
|
||||
throw new PHPExcel_Exception('memcache '.$host.':'.$port.' failed');
|
||||
throw new Exception('memcache '.$host.':'.$port.' failed');
|
||||
}
|
||||
|
||||
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_Memory
|
||||
* PHPExcel\CachedObjectStorage_Memory
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_Memory extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_Memory extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Dummy method callable from CacheBase, but unused by Memory cache
|
||||
@ -47,11 +49,11 @@ class PHPExcel_CachedObjectStorage_Memory extends PHPExcel_CachedObjectStorage_C
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @return PHPExcel_Cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return PHPExcel\Cell
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
$this->_cellCache[$pCoord] = $cell;
|
||||
|
||||
// Set current entry to the new/updated entry
|
||||
@ -65,8 +67,8 @@ class PHPExcel_CachedObjectStorage_Memory extends PHPExcel_CachedObjectStorage_C
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
// Check if the entry that has been requested actually exists
|
||||
@ -87,10 +89,10 @@ class PHPExcel_CachedObjectStorage_Memory extends PHPExcel_CachedObjectStorage_C
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
parent::copyCellCollection($parent);
|
||||
|
||||
$newCollection = array();
|
||||
|
@ -19,28 +19,30 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_MemoryGZip
|
||||
* PHPExcel\CachedObjectStorage_MemoryGZip
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_MemoryGZip extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_MemoryGZip extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Store cell data in cache for the current cell object if it's "dirty",
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -57,11 +59,11 @@ class PHPExcel_CachedObjectStorage_MemoryGZip extends PHPExcel_CachedObjectStora
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -78,8 +80,8 @@ class PHPExcel_CachedObjectStorage_MemoryGZip extends PHPExcel_CachedObjectStora
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
|
@ -19,28 +19,30 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_MemorySerialized
|
||||
* PHPExcel\CachedObjectStorage_MemorySerialized
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_MemorySerialized extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_MemorySerialized extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Store cell data in cache for the current cell object if it's "dirty",
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -57,11 +59,11 @@ class PHPExcel_CachedObjectStorage_MemorySerialized extends PHPExcel_CachedObjec
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -78,8 +80,8 @@ class PHPExcel_CachedObjectStorage_MemorySerialized extends PHPExcel_CachedObjec
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
|
@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
@ -27,13 +27,13 @@
|
||||
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_PHPTemp
|
||||
* PHPExcel\CachedObjectStorage_PHPTemp
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_PHPTemp extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_PHPTemp extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Name of the file for this cache
|
||||
@ -54,7 +54,7 @@ class PHPExcel_CachedObjectStorage_PHPTemp extends PHPExcel_CachedObjectStorage_
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -76,11 +76,11 @@ class PHPExcel_CachedObjectStorage_PHPTemp extends PHPExcel_CachedObjectStorage_
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -97,8 +97,8 @@ class PHPExcel_CachedObjectStorage_PHPTemp extends PHPExcel_CachedObjectStorage_
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -141,10 +141,10 @@ class PHPExcel_CachedObjectStorage_PHPTemp extends PHPExcel_CachedObjectStorage_
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
parent::copyCellCollection($parent);
|
||||
// Open a new stream for the cell cache data
|
||||
$newFileHandle = fopen('php://temp/maxmemory:'.$this->_memoryCacheSize,'a+');
|
||||
@ -180,10 +180,10 @@ class PHPExcel_CachedObjectStorage_PHPTemp extends PHPExcel_CachedObjectStorage_
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
* @param array of mixed $arguments Additional initialisation arguments
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent, $arguments) {
|
||||
public function __construct(Worksheet $parent, $arguments) {
|
||||
$this->_memoryCacheSize = (isset($arguments['memoryCacheSize'])) ? $arguments['memoryCacheSize'] : '1MB';
|
||||
|
||||
parent::__construct($parent);
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_SQLite
|
||||
* PHPExcel\CachedObjectStorage_SQLite
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_SQLite extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Database table name
|
||||
@ -54,14 +56,14 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
$this->_currentObject->detach();
|
||||
|
||||
if (!$this->_DBHandle->queryExec("INSERT OR REPLACE INTO kvp_".$this->_TableName." VALUES('".$this->_currentObjectID."','".sqlite_escape_string(serialize($this->_currentObject))."')"))
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
$this->_currentCellIsDirty = false;
|
||||
}
|
||||
$this->_currentObjectID = $this->_currentObject = null;
|
||||
@ -72,11 +74,11 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -93,8 +95,8 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -105,7 +107,7 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
$query = "SELECT value FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'";
|
||||
$cellResultSet = $this->_DBHandle->query($query,SQLITE_ASSOC);
|
||||
if ($cellResultSet === false) {
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
} elseif ($cellResultSet->numRows() == 0) {
|
||||
// Return null if requested entry doesn't exist in cache
|
||||
return null;
|
||||
@ -139,7 +141,7 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
$query = "SELECT id FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'";
|
||||
$cellResultSet = $this->_DBHandle->query($query,SQLITE_ASSOC);
|
||||
if ($cellResultSet === false) {
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
} elseif ($cellResultSet->numRows() == 0) {
|
||||
// Return null if requested entry doesn't exist in cache
|
||||
return false;
|
||||
@ -152,7 +154,7 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
* Delete a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to delete
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function deleteCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -163,7 +165,7 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
// Check if the requested entry exists in the cache
|
||||
$query = "DELETE FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'";
|
||||
if (!$this->_DBHandle->queryExec($query))
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
|
||||
$this->_currentCellIsDirty = false;
|
||||
} // function deleteCacheData()
|
||||
@ -184,12 +186,12 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
$query = "DELETE FROM kvp_".$this->_TableName." WHERE id='".$toAddress."'";
|
||||
$result = $this->_DBHandle->exec($query);
|
||||
if ($result === false)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
|
||||
$query = "UPDATE kvp_".$this->_TableName." SET id='".$toAddress."' WHERE id='".$fromAddress."'";
|
||||
$result = $this->_DBHandle->exec($query);
|
||||
if ($result === false)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
|
||||
return TRUE;
|
||||
} // function moveCell()
|
||||
@ -208,7 +210,7 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
$query = "SELECT id FROM kvp_".$this->_TableName;
|
||||
$cellIdsResult = $this->_DBHandle->unbufferedQuery($query,SQLITE_ASSOC);
|
||||
if ($cellIdsResult === false)
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
|
||||
$cellKeys = array();
|
||||
foreach($cellIdsResult as $row) {
|
||||
@ -222,10 +224,10 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
$this->_currentCellIsDirty;
|
||||
$this->_storeData();
|
||||
|
||||
@ -233,7 +235,7 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
$tableName = str_replace('.','_',$this->_getUniqueID());
|
||||
if (!$this->_DBHandle->queryExec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)
|
||||
AS SELECT * FROM kvp_'.$this->_TableName))
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
|
||||
// Copy the existing cell cache file
|
||||
$this->_TableName = $tableName;
|
||||
@ -261,9 +263,9 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent) {
|
||||
public function __construct(Worksheet $parent) {
|
||||
parent::__construct($parent);
|
||||
if (is_null($this->_DBHandle)) {
|
||||
$this->_TableName = str_replace('.','_',$this->_getUniqueID());
|
||||
@ -271,9 +273,9 @@ class PHPExcel_CachedObjectStorage_SQLite extends PHPExcel_CachedObjectStorage_C
|
||||
|
||||
$this->_DBHandle = new SQLiteDatabase($_DBName);
|
||||
if ($this->_DBHandle === false)
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
if (!$this->_DBHandle->queryExec('CREATE TABLE kvp_'.$this->_TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)'))
|
||||
throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
throw new Exception(sqlite_error_string($this->_DBHandle->lastError()));
|
||||
}
|
||||
} // function __construct()
|
||||
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_SQLite3
|
||||
* PHPExcel\CachedObjectStorage_SQLite3
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_SQLite3 extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Database table name
|
||||
@ -82,7 +84,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -92,7 +94,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
$this->_insertQuery->bindValue('data',serialize($this->_currentObject),SQLITE3_BLOB);
|
||||
$result = $this->_insertQuery->execute();
|
||||
if ($result === false)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
$this->_currentCellIsDirty = false;
|
||||
}
|
||||
$this->_currentObjectID = $this->_currentObject = null;
|
||||
@ -103,11 +105,11 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -124,8 +126,8 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -136,7 +138,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
$this->_selectQuery->bindValue('id',$pCoord,SQLITE3_TEXT);
|
||||
$cellResult = $this->_selectQuery->execute();
|
||||
if ($cellResult === FALSE) {
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
}
|
||||
$cellData = $cellResult->fetchArray(SQLITE3_ASSOC);
|
||||
if ($cellData === FALSE) {
|
||||
@ -171,7 +173,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
$this->_selectQuery->bindValue('id',$pCoord,SQLITE3_TEXT);
|
||||
$cellResult = $this->_selectQuery->execute();
|
||||
if ($cellResult === FALSE) {
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
}
|
||||
$cellData = $cellResult->fetchArray(SQLITE3_ASSOC);
|
||||
|
||||
@ -183,7 +185,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
* Delete a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to delete
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function deleteCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -195,7 +197,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
$this->_deleteQuery->bindValue('id',$pCoord,SQLITE3_TEXT);
|
||||
$result = $this->_deleteQuery->execute();
|
||||
if ($result === FALSE)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
|
||||
$this->_currentCellIsDirty = FALSE;
|
||||
} // function deleteCacheData()
|
||||
@ -216,13 +218,13 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
$this->_deleteQuery->bindValue('id',$toAddress,SQLITE3_TEXT);
|
||||
$result = $this->_deleteQuery->execute();
|
||||
if ($result === false)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
|
||||
$this->_updateQuery->bindValue('toid',$toAddress,SQLITE3_TEXT);
|
||||
$this->_updateQuery->bindValue('fromid',$fromAddress,SQLITE3_TEXT);
|
||||
$result = $this->_updateQuery->execute();
|
||||
if ($result === false)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
|
||||
return TRUE;
|
||||
} // function moveCell()
|
||||
@ -241,7 +243,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
$query = "SELECT id FROM kvp_".$this->_TableName;
|
||||
$cellIdsResult = $this->_DBHandle->query($query);
|
||||
if ($cellIdsResult === false)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
|
||||
$cellKeys = array();
|
||||
while ($row = $cellIdsResult->fetchArray(SQLITE3_ASSOC)) {
|
||||
@ -255,10 +257,10 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
$this->_currentCellIsDirty;
|
||||
$this->_storeData();
|
||||
|
||||
@ -266,7 +268,7 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
$tableName = str_replace('.','_',$this->_getUniqueID());
|
||||
if (!$this->_DBHandle->exec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)
|
||||
AS SELECT * FROM kvp_'.$this->_TableName))
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
|
||||
// Copy the existing cell cache file
|
||||
$this->_TableName = $tableName;
|
||||
@ -294,9 +296,9 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent) {
|
||||
public function __construct(Worksheet $parent) {
|
||||
parent::__construct($parent);
|
||||
if (is_null($this->_DBHandle)) {
|
||||
$this->_TableName = str_replace('.','_',$this->_getUniqueID());
|
||||
@ -304,9 +306,9 @@ class PHPExcel_CachedObjectStorage_SQLite3 extends PHPExcel_CachedObjectStorage_
|
||||
|
||||
$this->_DBHandle = new SQLite3($_DBName);
|
||||
if ($this->_DBHandle === false)
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
if (!$this->_DBHandle->exec('CREATE TABLE kvp_'.$this->_TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)'))
|
||||
throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg());
|
||||
throw new Exception($this->_DBHandle->lastErrorMsg());
|
||||
}
|
||||
|
||||
$this->_selectQuery = $this->_DBHandle->prepare("SELECT value FROM kvp_".$this->_TableName." WHERE id = :id");
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorage_Wincache
|
||||
* PHPExcel\CachedObjectStorage_Wincache
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage_CacheBase implements PHPExcel_CachedObjectStorage_ICache {
|
||||
class CachedObjectStorage_Wincache extends CachedObjectStorage_CacheBase implements CachedObjectStorage_ICache {
|
||||
|
||||
/**
|
||||
* Prefix used to uniquely identify cache data for this worksheet
|
||||
@ -55,7 +57,7 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
* and the 'nullify' the current cell object
|
||||
*
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
protected function _storeData() {
|
||||
if ($this->_currentCellIsDirty) {
|
||||
@ -65,12 +67,12 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
if (wincache_ucache_exists($this->_cachePrefix.$this->_currentObjectID.'.cache')) {
|
||||
if (!wincache_ucache_set($this->_cachePrefix.$this->_currentObjectID.'.cache', $obj, $this->_cacheTime)) {
|
||||
$this->__destruct();
|
||||
throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache');
|
||||
throw new Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache');
|
||||
}
|
||||
} else {
|
||||
if (!wincache_ucache_add($this->_cachePrefix.$this->_currentObjectID.'.cache', $obj, $this->_cacheTime)) {
|
||||
$this->__destruct();
|
||||
throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache');
|
||||
throw new Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache');
|
||||
}
|
||||
}
|
||||
$this->_currentCellIsDirty = false;
|
||||
@ -84,11 +86,11 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
* Add or Update a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to update
|
||||
* @param PHPExcel_Cell $cell Cell to update
|
||||
* @param PHPExcel\Cell $cell Cell to update
|
||||
* @return void
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||
public function addCacheData($pCoord, Cell $cell) {
|
||||
if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) {
|
||||
$this->_storeData();
|
||||
}
|
||||
@ -103,7 +105,7 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
|
||||
|
||||
/**
|
||||
* Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell?
|
||||
* Is a value set in the current PHPExcel\CachedObjectStorage_ICache for an indexed cell?
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to check
|
||||
* @return boolean
|
||||
@ -119,7 +121,7 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
if ($success === false) {
|
||||
// Entry no longer exists in Wincache, so clear it from the cache array
|
||||
parent::deleteCacheData($pCoord);
|
||||
throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache');
|
||||
throw new Exception('Cell entry '.$pCoord.' no longer exists in WinCache');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -131,8 +133,8 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
* Get cell at a specific coordinate
|
||||
*
|
||||
* @param string $pCoord Coordinate of the cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_Cell Cell that was found, or null if not found
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\Cell Cell that was found, or null if not found
|
||||
*/
|
||||
public function getCacheData($pCoord) {
|
||||
if ($pCoord === $this->_currentObjectID) {
|
||||
@ -148,7 +150,7 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
if ($success === false) {
|
||||
// Entry no longer exists in WinCache, so clear it from the cache array
|
||||
parent::deleteCacheData($pCoord);
|
||||
throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache');
|
||||
throw new Exception('Cell entry '.$pCoord.' no longer exists in WinCache');
|
||||
}
|
||||
} else {
|
||||
// Return null if requested entry doesn't exist in cache
|
||||
@ -184,7 +186,7 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
* Delete a cell in cache identified by coordinate address
|
||||
*
|
||||
* @param string $pCoord Coordinate address of the cell to delete
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function deleteCacheData($pCoord) {
|
||||
// Delete the entry from Wincache
|
||||
@ -198,10 +200,10 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
/**
|
||||
* Clone the cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The new worksheet
|
||||
* @param PHPExcel\Worksheet $parent The new worksheet
|
||||
* @return void
|
||||
*/
|
||||
public function copyCellCollection(PHPExcel_Worksheet $parent) {
|
||||
public function copyCellCollection(Worksheet $parent) {
|
||||
parent::copyCellCollection($parent);
|
||||
// Get a new id for the new file name
|
||||
$baseUnique = $this->_getUniqueID();
|
||||
@ -214,11 +216,11 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
if ($success === false) {
|
||||
// Entry no longer exists in WinCache, so clear it from the cache array
|
||||
parent::deleteCacheData($cellID);
|
||||
throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in Wincache');
|
||||
throw new Exception('Cell entry '.$cellID.' no longer exists in Wincache');
|
||||
}
|
||||
if (!wincache_ucache_add($newCachePrefix.$cellID.'.cache', $obj, $this->_cacheTime)) {
|
||||
$this->__destruct();
|
||||
throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in Wincache');
|
||||
throw new Exception('Failed to store cell '.$cellID.' in Wincache');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -250,10 +252,10 @@ class PHPExcel_CachedObjectStorage_Wincache extends PHPExcel_CachedObjectStorage
|
||||
/**
|
||||
* Initialise this new cell collection
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent The worksheet for this cell collection
|
||||
* @param PHPExcel\Worksheet $parent The worksheet for this cell collection
|
||||
* @param array of mixed $arguments Additional initialisation arguments
|
||||
*/
|
||||
public function __construct(PHPExcel_Worksheet $parent, $arguments) {
|
||||
public function __construct(Worksheet $parent, $arguments) {
|
||||
$cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600;
|
||||
|
||||
if (is_null($this->_cachePrefix)) {
|
||||
|
@ -20,21 +20,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CachedObjectStorageFactory
|
||||
* PHPExcel\CachedObjectStorageFactory
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @package PHPExcel\CachedObjectStorage
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CachedObjectStorageFactory
|
||||
class CachedObjectStorageFactory
|
||||
{
|
||||
const cache_in_memory = 'Memory';
|
||||
const cache_in_memory_gzip = 'MemoryGZip';
|
||||
@ -139,7 +141,7 @@ class PHPExcel_CachedObjectStorageFactory
|
||||
/**
|
||||
* Return the current cache storage class
|
||||
*
|
||||
* @return PHPExcel_CachedObjectStorage_ICache|NULL
|
||||
* @return PHPExcel\CachedObjectStorage_ICache|NULL
|
||||
**/
|
||||
public static function getCacheStorageClass()
|
||||
{
|
||||
@ -167,7 +169,7 @@ class PHPExcel_CachedObjectStorageFactory
|
||||
{
|
||||
$activeMethods = array();
|
||||
foreach(self::$_storageMethods as $storageMethod) {
|
||||
$cacheStorageClass = 'PHPExcel_CachedObjectStorage_' . $storageMethod;
|
||||
$cacheStorageClass = 'PHPExcel\CachedObjectStorage_' . $storageMethod;
|
||||
if (call_user_func(array($cacheStorageClass, 'cacheMethodIsAvailable'))) {
|
||||
$activeMethods[] = $storageMethod;
|
||||
}
|
||||
@ -190,9 +192,10 @@ class PHPExcel_CachedObjectStorageFactory
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$cacheStorageClass = 'PHPExcel_CachedObjectStorage_'.$method;
|
||||
if (!call_user_func(array( $cacheStorageClass,
|
||||
'cacheMethodIsAvailable'))) {
|
||||
$cacheStorageClass = __NAMESPACE__ . '\CachedObjectStorage_'.$method;
|
||||
if (!call_user_func(
|
||||
array($cacheStorageClass, 'cacheMethodIsAvailable')
|
||||
)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -204,7 +207,7 @@ class PHPExcel_CachedObjectStorageFactory
|
||||
}
|
||||
|
||||
if (self::$_cacheStorageMethod === NULL) {
|
||||
self::$_cacheStorageClass = 'PHPExcel_CachedObjectStorage_' . $method;
|
||||
self::$_cacheStorageClass = 'CachedObjectStorage_' . $method;
|
||||
self::$_cacheStorageMethod = $method;
|
||||
}
|
||||
return TRUE;
|
||||
@ -214,20 +217,21 @@ class PHPExcel_CachedObjectStorageFactory
|
||||
/**
|
||||
* Initialise the cache storage
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent Enable cell caching for this worksheet
|
||||
* @return PHPExcel_CachedObjectStorage_ICache
|
||||
* @param PHPExcel\Worksheet $parent Enable cell caching for this worksheet
|
||||
* @return PHPExcel\CachedObjectStorage_ICache
|
||||
**/
|
||||
public static function getInstance(PHPExcel_Worksheet $parent)
|
||||
public static function getInstance(Worksheet $parent)
|
||||
{
|
||||
$cacheMethodIsAvailable = TRUE;
|
||||
if (self::$_cacheStorageMethod === NULL) {
|
||||
$cacheMethodIsAvailable = self::initialize();
|
||||
}
|
||||
|
||||
$cacheStorageClass = __NAMESPACE__ . '\\' . self::$_cacheStorageClass;
|
||||
if ($cacheMethodIsAvailable) {
|
||||
$instance = new self::$_cacheStorageClass( $parent,
|
||||
self::$_storageMethodParameters[self::$_cacheStorageMethod]
|
||||
);
|
||||
$instance = new $cacheStorageClass( $parent,
|
||||
self::$_storageMethodParameters[self::$_cacheStorageMethod]
|
||||
);
|
||||
if ($instance !== NULL) {
|
||||
return $instance;
|
||||
}
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CalcEngine_CyclicReferenceStack
|
||||
* PHPExcel\CalcEngine_CyclicReferenceStack
|
||||
*
|
||||
* @category PHPExcel_CalcEngine_CyclicReferenceStack
|
||||
* @package PHPExcel_Calculation
|
||||
* @category PHPExcel\CalcEngine_CyclicReferenceStack
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CalcEngine_CyclicReferenceStack {
|
||||
class CalcEngine_CyclicReferenceStack {
|
||||
|
||||
/**
|
||||
* The call stack for calculated cells
|
||||
@ -95,4 +97,4 @@ class PHPExcel_CalcEngine_CyclicReferenceStack {
|
||||
return $this->_stack;
|
||||
}
|
||||
|
||||
} // class PHPExcel_CalcEngine_CyclicReferenceStack
|
||||
}
|
||||
|
@ -19,20 +19,22 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_CalcEngine_Logger
|
||||
* PHPExcel\CalcEngine_Logger
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_CalcEngine_Logger {
|
||||
class CalcEngine_Logger {
|
||||
|
||||
/**
|
||||
* Flag to determine whether a debug log should be generated by the calculation engine
|
||||
@ -63,7 +65,7 @@ class PHPExcel_CalcEngine_Logger {
|
||||
/**
|
||||
* The calculation engine cell reference stack
|
||||
*
|
||||
* @var PHPExcel_CalcEngine_CyclicReferenceStack
|
||||
* @var PHPExcel\CalcEngine_CyclicReferenceStack
|
||||
*/
|
||||
private $_cellStack;
|
||||
|
||||
@ -71,9 +73,9 @@ class PHPExcel_CalcEngine_Logger {
|
||||
/**
|
||||
* Instantiate a Calculation engine logger
|
||||
*
|
||||
* @param PHPExcel_CalcEngine_CyclicReferenceStack $stack
|
||||
* @param PHPExcel\CalcEngine_CyclicReferenceStack $stack
|
||||
*/
|
||||
public function __construct(PHPExcel_CalcEngine_CyclicReferenceStack $stack) {
|
||||
public function __construct(CalcEngine_CyclicReferenceStack $stack) {
|
||||
$this->_cellStack = $stack;
|
||||
}
|
||||
|
||||
@ -149,5 +151,5 @@ class PHPExcel_CalcEngine_Logger {
|
||||
return $this->_debugLog;
|
||||
} // function flushLogger()
|
||||
|
||||
} // class PHPExcel_CalcEngine_Logger
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,31 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_Database
|
||||
* PHPExcel\Calculation_Database
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_Database {
|
||||
class Calculation_Database {
|
||||
|
||||
|
||||
/**
|
||||
@ -65,7 +57,7 @@ class PHPExcel_Calculation_Database {
|
||||
*
|
||||
*/
|
||||
private static function __fieldExtract($database,$field) {
|
||||
$field = strtoupper(PHPExcel_Calculation_Functions::flattenSingleValue($field));
|
||||
$field = strtoupper(Calculation_Functions::flattenSingleValue($field));
|
||||
$fieldNames = array_map('strtoupper',array_shift($database));
|
||||
|
||||
if (is_numeric($field)) {
|
||||
@ -107,7 +99,7 @@ class PHPExcel_Calculation_Database {
|
||||
$testConditionCount = 0;
|
||||
foreach($criteria as $row => $criterion) {
|
||||
if ($criterion[$key] > '') {
|
||||
$testCondition[] = '[:'.$criteriaName.']'.PHPExcel_Calculation_Functions::_ifCondition($criterion[$key]);
|
||||
$testCondition[] = '[:'.$criteriaName.']'.Calculation_Functions::_ifCondition($criterion[$key]);
|
||||
$testConditionCount++;
|
||||
}
|
||||
}
|
||||
@ -134,12 +126,12 @@ class PHPExcel_Calculation_Database {
|
||||
$k = array_search($criteriaName,$fieldNames);
|
||||
if (isset($dataValues[$k])) {
|
||||
$dataValue = $dataValues[$k];
|
||||
$dataValue = (is_string($dataValue)) ? PHPExcel_Calculation::_wrapResult(strtoupper($dataValue)) : $dataValue;
|
||||
$dataValue = (is_string($dataValue)) ? Calculation::_wrapResult(strtoupper($dataValue)) : $dataValue;
|
||||
$testConditionList = str_replace('[:'.$criteriaName.']',$dataValue,$testConditionList);
|
||||
}
|
||||
}
|
||||
// evaluate the criteria against the row data
|
||||
$result = PHPExcel_Calculation::getInstance()->_calculateFormulaValue('='.$testConditionList);
|
||||
$result = Calculation::getInstance()->_calculateFormulaValue('='.$testConditionList);
|
||||
// If the row failed to meet the criteria, remove it from the database
|
||||
if (!$result) {
|
||||
unset($database[$dataRow]);
|
||||
@ -191,7 +183,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::AVERAGE($colData);
|
||||
return Calculation_Statistical::AVERAGE($colData);
|
||||
} // function DAVERAGE()
|
||||
|
||||
|
||||
@ -244,7 +236,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::COUNT($colData);
|
||||
return Calculation_Statistical::COUNT($colData);
|
||||
} // function DCOUNT()
|
||||
|
||||
|
||||
@ -293,7 +285,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::COUNTA($colData);
|
||||
return Calculation_Statistical::COUNTA($colData);
|
||||
} // function DCOUNTA()
|
||||
|
||||
|
||||
@ -341,7 +333,7 @@ class PHPExcel_Calculation_Database {
|
||||
|
||||
// Return
|
||||
if (count($colData) > 1) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
return $colData[0];
|
||||
@ -391,7 +383,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::MAX($colData);
|
||||
return Calculation_Statistical::MAX($colData);
|
||||
} // function DMAX()
|
||||
|
||||
|
||||
@ -438,7 +430,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::MIN($colData);
|
||||
return Calculation_Statistical::MIN($colData);
|
||||
} // function DMIN()
|
||||
|
||||
|
||||
@ -484,7 +476,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_MathTrig::PRODUCT($colData);
|
||||
return Calculation_MathTrig::PRODUCT($colData);
|
||||
} // function DPRODUCT()
|
||||
|
||||
|
||||
@ -531,7 +523,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::STDEV($colData);
|
||||
return Calculation_Statistical::STDEV($colData);
|
||||
} // function DSTDEV()
|
||||
|
||||
|
||||
@ -578,7 +570,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::STDEVP($colData);
|
||||
return Calculation_Statistical::STDEVP($colData);
|
||||
} // function DSTDEVP()
|
||||
|
||||
|
||||
@ -624,7 +616,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_MathTrig::SUM($colData);
|
||||
return Calculation_MathTrig::SUM($colData);
|
||||
} // function DSUM()
|
||||
|
||||
|
||||
@ -671,7 +663,7 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::VARFunc($colData);
|
||||
return Calculation_Statistical::VARFunc($colData);
|
||||
} // function DVAR()
|
||||
|
||||
|
||||
@ -718,8 +710,8 @@ class PHPExcel_Calculation_Database {
|
||||
}
|
||||
|
||||
// Return
|
||||
return PHPExcel_Calculation_Statistical::VARP($colData);
|
||||
return Calculation_Statistical::VARP($colData);
|
||||
} // function DVARP()
|
||||
|
||||
|
||||
} // class PHPExcel_Calculation_Database
|
||||
}
|
||||
|
@ -19,31 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_DateTime
|
||||
* PHPExcel\Calculation_DateTime
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_DateTime {
|
||||
class Calculation_DateTime {
|
||||
|
||||
/**
|
||||
* Identify if a year is a leap year or not
|
||||
@ -101,16 +93,16 @@ class PHPExcel_Calculation_DateTime {
|
||||
public static function _getDateValue($dateValue) {
|
||||
if (!is_numeric($dateValue)) {
|
||||
if ((is_string($dateValue)) &&
|
||||
(PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
(Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC)) {
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
if ((is_object($dateValue)) && ($dateValue instanceof DateTime)) {
|
||||
$dateValue = PHPExcel_Shared_Date::PHPToExcel($dateValue);
|
||||
$dateValue = Shared_Date::PHPToExcel($dateValue);
|
||||
} else {
|
||||
$saveReturnDateType = PHPExcel_Calculation_Functions::getReturnDateType();
|
||||
PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL);
|
||||
$saveReturnDateType = Calculation_Functions::getReturnDateType();
|
||||
Calculation_Functions::setReturnDateType(Calculation_Functions::RETURNDATE_EXCEL);
|
||||
$dateValue = self::DATEVALUE($dateValue);
|
||||
PHPExcel_Calculation_Functions::setReturnDateType($saveReturnDateType);
|
||||
Calculation_Functions::setReturnDateType($saveReturnDateType);
|
||||
}
|
||||
}
|
||||
return $dateValue;
|
||||
@ -124,17 +116,17 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return mixed Excel date/time serial value, or string if error
|
||||
*/
|
||||
private static function _getTimeValue($timeValue) {
|
||||
$saveReturnDateType = PHPExcel_Calculation_Functions::getReturnDateType();
|
||||
PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL);
|
||||
$saveReturnDateType = Calculation_Functions::getReturnDateType();
|
||||
Calculation_Functions::setReturnDateType(Calculation_Functions::RETURNDATE_EXCEL);
|
||||
$timeValue = self::TIMEVALUE($timeValue);
|
||||
PHPExcel_Calculation_Functions::setReturnDateType($saveReturnDateType);
|
||||
Calculation_Functions::setReturnDateType($saveReturnDateType);
|
||||
return $timeValue;
|
||||
} // function _getTimeValue()
|
||||
|
||||
|
||||
private static function _adjustDateByMonths($dateValue = 0, $adjustmentMonths = 0) {
|
||||
// Execute function
|
||||
$PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$PHPDateObject = Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$oMonth = (int) $PHPDateObject->format('m');
|
||||
$oYear = (int) $PHPDateObject->format('Y');
|
||||
|
||||
@ -181,14 +173,14 @@ class PHPExcel_Calculation_DateTime {
|
||||
$saveTimeZone = date_default_timezone_get();
|
||||
date_default_timezone_set('UTC');
|
||||
$retValue = False;
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
$retValue = (float) PHPExcel_Shared_Date::PHPToExcel(time());
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
$retValue = (float) Shared_Date::PHPToExcel(time());
|
||||
break;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
$retValue = (integer) time();
|
||||
break;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
$retValue = new DateTime();
|
||||
break;
|
||||
}
|
||||
@ -221,16 +213,16 @@ class PHPExcel_Calculation_DateTime {
|
||||
$saveTimeZone = date_default_timezone_get();
|
||||
date_default_timezone_set('UTC');
|
||||
$retValue = False;
|
||||
$excelDateTime = floor(PHPExcel_Shared_Date::PHPToExcel(time()));
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
$excelDateTime = floor(Shared_Date::PHPToExcel(time()));
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
$retValue = (float) $excelDateTime;
|
||||
break;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
$retValue = (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateTime);
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
$retValue = (integer) Shared_Date::ExcelToPHP($excelDateTime);
|
||||
break;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
$retValue = PHPExcel_Shared_Date::ExcelToPHPObject($excelDateTime);
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
$retValue = Shared_Date::ExcelToPHPObject($excelDateTime);
|
||||
break;
|
||||
}
|
||||
date_default_timezone_set($saveTimeZone);
|
||||
@ -290,37 +282,37 @@ class PHPExcel_Calculation_DateTime {
|
||||
* depending on the value of the ReturnDateType flag
|
||||
*/
|
||||
public static function DATE($year = 0, $month = 1, $day = 1) {
|
||||
$year = PHPExcel_Calculation_Functions::flattenSingleValue($year);
|
||||
$month = PHPExcel_Calculation_Functions::flattenSingleValue($month);
|
||||
$day = PHPExcel_Calculation_Functions::flattenSingleValue($day);
|
||||
$year = Calculation_Functions::flattenSingleValue($year);
|
||||
$month = Calculation_Functions::flattenSingleValue($month);
|
||||
$day = Calculation_Functions::flattenSingleValue($day);
|
||||
|
||||
if (($month !== NULL) && (!is_numeric($month))) {
|
||||
$month = PHPExcel_Shared_Date::monthStringToNumber($month);
|
||||
$month = Shared_Date::monthStringToNumber($month);
|
||||
}
|
||||
|
||||
if (($day !== NULL) && (!is_numeric($day))) {
|
||||
$day = PHPExcel_Shared_Date::dayStringToNumber($day);
|
||||
$day = Shared_Date::dayStringToNumber($day);
|
||||
}
|
||||
|
||||
$year = ($year !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($year) : 0;
|
||||
$month = ($month !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($month) : 0;
|
||||
$day = ($day !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($day) : 0;
|
||||
$year = ($year !== NULL) ? Shared_String::testStringAsNumeric($year) : 0;
|
||||
$month = ($month !== NULL) ? Shared_String::testStringAsNumeric($month) : 0;
|
||||
$day = ($day !== NULL) ? Shared_String::testStringAsNumeric($day) : 0;
|
||||
if ((!is_numeric($year)) ||
|
||||
(!is_numeric($month)) ||
|
||||
(!is_numeric($day))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$year = (integer) $year;
|
||||
$month = (integer) $month;
|
||||
$day = (integer) $day;
|
||||
|
||||
$baseYear = PHPExcel_Shared_Date::getExcelCalendar();
|
||||
$baseYear = Shared_Date::getExcelCalendar();
|
||||
// Validate parameters
|
||||
if ($year < ($baseYear-1900)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
if ((($baseYear-1900) != 0) && ($year < $baseYear) && ($year >= 1900)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
if (($year < $baseYear) && ($year >= ($baseYear-1900))) {
|
||||
@ -340,18 +332,18 @@ class PHPExcel_Calculation_DateTime {
|
||||
|
||||
// Re-validate the year parameter after adjustments
|
||||
if (($year < $baseYear) || ($year >= 10000)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year, $month, $day);
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
$excelDateValue = Shared_Date::FormattedPHPToExcel($year, $month, $day);
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) $excelDateValue;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue);
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return PHPExcel_Shared_Date::ExcelToPHPObject($excelDateValue);
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) Shared_Date::ExcelToPHP($excelDateValue);
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return Shared_Date::ExcelToPHPObject($excelDateValue);
|
||||
}
|
||||
} // function DATE()
|
||||
|
||||
@ -384,16 +376,16 @@ class PHPExcel_Calculation_DateTime {
|
||||
* depending on the value of the ReturnDateType flag
|
||||
*/
|
||||
public static function TIME($hour = 0, $minute = 0, $second = 0) {
|
||||
$hour = PHPExcel_Calculation_Functions::flattenSingleValue($hour);
|
||||
$minute = PHPExcel_Calculation_Functions::flattenSingleValue($minute);
|
||||
$second = PHPExcel_Calculation_Functions::flattenSingleValue($second);
|
||||
$hour = Calculation_Functions::flattenSingleValue($hour);
|
||||
$minute = Calculation_Functions::flattenSingleValue($minute);
|
||||
$second = Calculation_Functions::flattenSingleValue($second);
|
||||
|
||||
if ($hour == '') { $hour = 0; }
|
||||
if ($minute == '') { $minute = 0; }
|
||||
if ($second == '') { $second = 0; }
|
||||
|
||||
if ((!is_numeric($hour)) || (!is_numeric($minute)) || (!is_numeric($second))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$hour = (integer) $hour;
|
||||
$minute = (integer) $minute;
|
||||
@ -419,21 +411,21 @@ class PHPExcel_Calculation_DateTime {
|
||||
if ($hour > 23) {
|
||||
$hour = $hour % 24;
|
||||
} elseif ($hour < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
$date = 0;
|
||||
$calendar = PHPExcel_Shared_Date::getExcelCalendar();
|
||||
if ($calendar != PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900) {
|
||||
$calendar = Shared_Date::getExcelCalendar();
|
||||
if ($calendar != Shared_Date::CALENDAR_WINDOWS_1900) {
|
||||
$date = 1;
|
||||
}
|
||||
return (float) PHPExcel_Shared_Date::FormattedPHPToExcel($calendar, 1, $date, $hour, $minute, $second);
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::FormattedPHPToExcel(1970, 1, 1, $hour, $minute, $second)); // -2147468400; // -2147472000 + 3600
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return (float) Shared_Date::FormattedPHPToExcel($calendar, 1, $date, $hour, $minute, $second);
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) Shared_Date::ExcelToPHP(Shared_Date::FormattedPHPToExcel(1970, 1, 1, $hour, $minute, $second)); // -2147468400; // -2147472000 + 3600
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
$dayAdjust = 0;
|
||||
if ($hour < 0) {
|
||||
$dayAdjust = floor($hour / 24);
|
||||
@ -479,7 +471,7 @@ class PHPExcel_Calculation_DateTime {
|
||||
* depending on the value of the ReturnDateType flag
|
||||
*/
|
||||
public static function DATEVALUE($dateValue = 1) {
|
||||
$dateValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($dateValue),'"');
|
||||
$dateValue = trim(Calculation_Functions::flattenSingleValue($dateValue),'"');
|
||||
// Strip any ordinals because they're allowed in Excel (English only)
|
||||
$dateValue = preg_replace('/(\d)(st|nd|rd|th)([ -\/])/Ui','$1$3',$dateValue);
|
||||
// Convert separators (/ . or space) to hyphens (should also handle dot used for ordinals in some countries, e.g. Denmark, Germany)
|
||||
@ -490,7 +482,7 @@ class PHPExcel_Calculation_DateTime {
|
||||
foreach($t1 as &$t) {
|
||||
if ((is_numeric($t)) && ($t > 31)) {
|
||||
if ($yearFound) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} else {
|
||||
if ($t < 100) { $t += 1900; }
|
||||
$yearFound = true;
|
||||
@ -522,16 +514,16 @@ class PHPExcel_Calculation_DateTime {
|
||||
$testVal3 = strftime('%Y');
|
||||
}
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$PHPDateArray = date_parse($testVal1.'-'.$testVal2.'-'.$testVal3);
|
||||
if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) {
|
||||
$PHPDateArray = date_parse($testVal2.'-'.$testVal1.'-'.$testVal3);
|
||||
if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -540,21 +532,21 @@ class PHPExcel_Calculation_DateTime {
|
||||
// Execute function
|
||||
if ($PHPDateArray['year'] == '') { $PHPDateArray['year'] = strftime('%Y'); }
|
||||
if ($PHPDateArray['year'] < 1900)
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
if ($PHPDateArray['month'] == '') { $PHPDateArray['month'] = strftime('%m'); }
|
||||
if ($PHPDateArray['day'] == '') { $PHPDateArray['day'] = strftime('%d'); }
|
||||
$excelDateValue = floor(PHPExcel_Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']));
|
||||
$excelDateValue = floor(Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']));
|
||||
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) $excelDateValue;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue);
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) Shared_Date::ExcelToPHP($excelDateValue);
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return new DateTime($PHPDateArray['year'].'-'.$PHPDateArray['month'].'-'.$PHPDateArray['day'].' 00:00:00');
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function DATEVALUE()
|
||||
|
||||
|
||||
@ -581,27 +573,27 @@ class PHPExcel_Calculation_DateTime {
|
||||
* depending on the value of the ReturnDateType flag
|
||||
*/
|
||||
public static function TIMEVALUE($timeValue) {
|
||||
$timeValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($timeValue),'"');
|
||||
$timeValue = trim(Calculation_Functions::flattenSingleValue($timeValue),'"');
|
||||
$timeValue = str_replace(array('/','.'),array('-','-'),$timeValue);
|
||||
|
||||
$PHPDateArray = date_parse($timeValue);
|
||||
if (($PHPDateArray !== False) && ($PHPDateArray['error_count'] == 0)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']);
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$excelDateValue = Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']);
|
||||
} else {
|
||||
$excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel(1900,1,1,$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']) - 1;
|
||||
$excelDateValue = Shared_Date::FormattedPHPToExcel(1900,1,1,$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']) - 1;
|
||||
}
|
||||
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) $excelDateValue;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) $phpDateValue = PHPExcel_Shared_Date::ExcelToPHP($excelDateValue+25569) - 3600;;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) $phpDateValue = Shared_Date::ExcelToPHP($excelDateValue+25569) - 3600;;
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return new DateTime('1900-01-01 '.$PHPDateArray['hour'].':'.$PHPDateArray['minute'].':'.$PHPDateArray['second']);
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function TIMEVALUE()
|
||||
|
||||
|
||||
@ -616,36 +608,36 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return integer Interval between the dates
|
||||
*/
|
||||
public static function DATEDIF($startDate = 0, $endDate = 0, $unit = 'D') {
|
||||
$startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate);
|
||||
$unit = strtoupper(PHPExcel_Calculation_Functions::flattenSingleValue($unit));
|
||||
$startDate = Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = Calculation_Functions::flattenSingleValue($endDate);
|
||||
$unit = strtoupper(Calculation_Functions::flattenSingleValue($unit));
|
||||
|
||||
if (is_string($startDate = self::_getDateValue($startDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
if (is_string($endDate = self::_getDateValue($endDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
// Validate parameters
|
||||
if ($startDate >= $endDate) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$difference = $endDate - $startDate;
|
||||
|
||||
$PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate);
|
||||
$PHPStartDateObject = Shared_Date::ExcelToPHPObject($startDate);
|
||||
$startDays = $PHPStartDateObject->format('j');
|
||||
$startMonths = $PHPStartDateObject->format('n');
|
||||
$startYears = $PHPStartDateObject->format('Y');
|
||||
|
||||
$PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate);
|
||||
$PHPEndDateObject = Shared_Date::ExcelToPHPObject($endDate);
|
||||
$endDays = $PHPEndDateObject->format('j');
|
||||
$endMonths = $PHPEndDateObject->format('n');
|
||||
$endYears = $PHPEndDateObject->format('Y');
|
||||
|
||||
$retVal = PHPExcel_Calculation_Functions::NaN();
|
||||
$retVal = Calculation_Functions::NaN();
|
||||
switch ($unit) {
|
||||
case 'D':
|
||||
$retVal = intval($difference);
|
||||
@ -698,7 +690,7 @@ class PHPExcel_Calculation_DateTime {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$retVal = PHPExcel_Calculation_Functions::NaN();
|
||||
$retVal = Calculation_Functions::NaN();
|
||||
}
|
||||
return $retVal;
|
||||
} // function DATEDIF()
|
||||
@ -734,27 +726,27 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return integer Number of days between start date and end date
|
||||
*/
|
||||
public static function DAYS360($startDate = 0, $endDate = 0, $method = false) {
|
||||
$startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate);
|
||||
$startDate = Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = Calculation_Functions::flattenSingleValue($endDate);
|
||||
|
||||
if (is_string($startDate = self::_getDateValue($startDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
if (is_string($endDate = self::_getDateValue($endDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (!is_bool($method)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate);
|
||||
$PHPStartDateObject = Shared_Date::ExcelToPHPObject($startDate);
|
||||
$startDay = $PHPStartDateObject->format('j');
|
||||
$startMonth = $PHPStartDateObject->format('n');
|
||||
$startYear = $PHPStartDateObject->format('Y');
|
||||
|
||||
$PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate);
|
||||
$PHPEndDateObject = Shared_Date::ExcelToPHPObject($endDate);
|
||||
$endDay = $PHPEndDateObject->format('j');
|
||||
$endMonth = $PHPEndDateObject->format('n');
|
||||
$endYear = $PHPEndDateObject->format('Y');
|
||||
@ -789,15 +781,15 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return float fraction of the year
|
||||
*/
|
||||
public static function YEARFRAC($startDate = 0, $endDate = 0, $method = 0) {
|
||||
$startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate);
|
||||
$method = PHPExcel_Calculation_Functions::flattenSingleValue($method);
|
||||
$startDate = Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = Calculation_Functions::flattenSingleValue($endDate);
|
||||
$method = Calculation_Functions::flattenSingleValue($method);
|
||||
|
||||
if (is_string($startDate = self::_getDateValue($startDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
if (is_string($endDate = self::_getDateValue($endDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (((is_numeric($method)) && (!is_string($method))) || ($method == '')) {
|
||||
@ -856,7 +848,7 @@ class PHPExcel_Calculation_DateTime {
|
||||
return self::DAYS360($startDate,$endDate,True) / 360;
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function YEARFRAC()
|
||||
|
||||
|
||||
@ -885,20 +877,20 @@ class PHPExcel_Calculation_DateTime {
|
||||
*/
|
||||
public static function NETWORKDAYS($startDate,$endDate) {
|
||||
// Retrieve the mandatory start and end date that are referenced in the function definition
|
||||
$startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate);
|
||||
$startDate = Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDate = Calculation_Functions::flattenSingleValue($endDate);
|
||||
// Flush the mandatory start and end date that are referenced in the function definition, and get the optional days
|
||||
$dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$dateArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
array_shift($dateArgs);
|
||||
array_shift($dateArgs);
|
||||
|
||||
// Validate the start and end dates
|
||||
if (is_string($startDate = $sDate = self::_getDateValue($startDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$startDate = (float) floor($startDate);
|
||||
if (is_string($endDate = $eDate = self::_getDateValue($endDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$endDate = (float) floor($endDate);
|
||||
|
||||
@ -923,7 +915,7 @@ class PHPExcel_Calculation_DateTime {
|
||||
$holidayCountedArray = array();
|
||||
foreach ($dateArgs as $holidayDate) {
|
||||
if (is_string($holidayDate = self::_getDateValue($holidayDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
if (($holidayDate >= $startDate) && ($holidayDate <= $endDate)) {
|
||||
if ((self::DAYOFWEEK($holidayDate,2) < 6) && (!in_array($holidayDate,$holidayCountedArray))) {
|
||||
@ -967,15 +959,15 @@ class PHPExcel_Calculation_DateTime {
|
||||
*/
|
||||
public static function WORKDAY($startDate,$endDays) {
|
||||
// Retrieve the mandatory start date and days that are referenced in the function definition
|
||||
$startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDays = PHPExcel_Calculation_Functions::flattenSingleValue($endDays);
|
||||
$startDate = Calculation_Functions::flattenSingleValue($startDate);
|
||||
$endDays = Calculation_Functions::flattenSingleValue($endDays);
|
||||
// Flush the mandatory start date and days that are referenced in the function definition, and get the optional days
|
||||
$dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$dateArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
array_shift($dateArgs);
|
||||
array_shift($dateArgs);
|
||||
|
||||
if ((is_string($startDate = self::_getDateValue($startDate))) || (!is_numeric($endDays))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$startDate = (float) floor($startDate);
|
||||
$endDays = (int) floor($endDays);
|
||||
@ -1007,7 +999,7 @@ class PHPExcel_Calculation_DateTime {
|
||||
foreach ($dateArgs as $holidayDate) {
|
||||
if (($holidayDate !== NULL) && (trim($holidayDate) > '')) {
|
||||
if (is_string($holidayDate = self::_getDateValue($holidayDate))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
if (self::DAYOFWEEK($holidayDate,3) < 5) {
|
||||
$holidayDates[] = $holidayDate;
|
||||
@ -1044,13 +1036,13 @@ class PHPExcel_Calculation_DateTime {
|
||||
}
|
||||
}
|
||||
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) $endDate;
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) PHPExcel_Shared_Date::ExcelToPHP($endDate);
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return PHPExcel_Shared_Date::ExcelToPHPObject($endDate);
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) Shared_Date::ExcelToPHP($endDate);
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return Shared_Date::ExcelToPHPObject($endDate);
|
||||
}
|
||||
} // function WORKDAY()
|
||||
|
||||
@ -1069,18 +1061,18 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Day of the month
|
||||
*/
|
||||
public static function DAYOFMONTH($dateValue = 1) {
|
||||
$dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$dateValue = Calculation_Functions::flattenSingleValue($dateValue);
|
||||
|
||||
if (is_string($dateValue = self::_getDateValue($dateValue))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($dateValue == 0.0) {
|
||||
return 0;
|
||||
} elseif ($dateValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$PHPDateObject = Shared_Date::ExcelToPHPObject($dateValue);
|
||||
|
||||
return (int) $PHPDateObject->format('j');
|
||||
} // function DAYOFMONTH()
|
||||
@ -1104,24 +1096,24 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Day of the week value
|
||||
*/
|
||||
public static function DAYOFWEEK($dateValue = 1, $style = 1) {
|
||||
$dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$style = PHPExcel_Calculation_Functions::flattenSingleValue($style);
|
||||
$dateValue = Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$style = Calculation_Functions::flattenSingleValue($style);
|
||||
|
||||
if (!is_numeric($style)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif (($style < 1) || ($style > 3)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$style = floor($style);
|
||||
|
||||
if (is_string($dateValue = self::_getDateValue($dateValue))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($dateValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$PHPDateObject = Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$DoW = $PHPDateObject->format('w');
|
||||
|
||||
$firstDay = 1;
|
||||
@ -1135,7 +1127,7 @@ class PHPExcel_Calculation_DateTime {
|
||||
--$DoW;
|
||||
break;
|
||||
}
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_EXCEL) {
|
||||
// Test for Excel's 1900 leap year, and introduce the error as required
|
||||
if (($PHPDateObject->format('Y') == 1900) && ($PHPDateObject->format('n') <= 2)) {
|
||||
--$DoW;
|
||||
@ -1170,24 +1162,24 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Week Number
|
||||
*/
|
||||
public static function WEEKOFYEAR($dateValue = 1, $method = 1) {
|
||||
$dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$method = PHPExcel_Calculation_Functions::flattenSingleValue($method);
|
||||
$dateValue = Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$method = Calculation_Functions::flattenSingleValue($method);
|
||||
|
||||
if (!is_numeric($method)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif (($method < 1) || ($method > 2)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$method = floor($method);
|
||||
|
||||
if (is_string($dateValue = self::_getDateValue($dateValue))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($dateValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$PHPDateObject = Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$dayOfYear = $PHPDateObject->format('z');
|
||||
$dow = $PHPDateObject->format('w');
|
||||
$PHPDateObject->modify('-'.$dayOfYear.' days');
|
||||
@ -1214,16 +1206,16 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Month of the year
|
||||
*/
|
||||
public static function MONTHOFYEAR($dateValue = 1) {
|
||||
$dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$dateValue = Calculation_Functions::flattenSingleValue($dateValue);
|
||||
|
||||
if (is_string($dateValue = self::_getDateValue($dateValue))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($dateValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$PHPDateObject = Shared_Date::ExcelToPHPObject($dateValue);
|
||||
|
||||
return (int) $PHPDateObject->format('n');
|
||||
} // function MONTHOFYEAR()
|
||||
@ -1243,16 +1235,16 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Year
|
||||
*/
|
||||
public static function YEAR($dateValue = 1) {
|
||||
$dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$dateValue = Calculation_Functions::flattenSingleValue($dateValue);
|
||||
|
||||
if (is_string($dateValue = self::_getDateValue($dateValue))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($dateValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue);
|
||||
$PHPDateObject = Shared_Date::ExcelToPHPObject($dateValue);
|
||||
|
||||
return (int) $PHPDateObject->format('Y');
|
||||
} // function YEAR()
|
||||
@ -1272,27 +1264,27 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Hour
|
||||
*/
|
||||
public static function HOUROFDAY($timeValue = 0) {
|
||||
$timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue);
|
||||
$timeValue = Calculation_Functions::flattenSingleValue($timeValue);
|
||||
|
||||
if (!is_numeric($timeValue)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
$testVal = strtok($timeValue,'/-: ');
|
||||
if (strlen($testVal) < strlen($timeValue)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
$timeValue = self::_getTimeValue($timeValue);
|
||||
if (is_string($timeValue)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
// Execute function
|
||||
if ($timeValue >= 1) {
|
||||
$timeValue = fmod($timeValue,1);
|
||||
} elseif ($timeValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue);
|
||||
$timeValue = Shared_Date::ExcelToPHP($timeValue);
|
||||
|
||||
return (int) gmdate('G',$timeValue);
|
||||
} // function HOUROFDAY()
|
||||
@ -1312,27 +1304,27 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Minute
|
||||
*/
|
||||
public static function MINUTEOFHOUR($timeValue = 0) {
|
||||
$timeValue = $timeTester = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue);
|
||||
$timeValue = $timeTester = Calculation_Functions::flattenSingleValue($timeValue);
|
||||
|
||||
if (!is_numeric($timeValue)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
$testVal = strtok($timeValue,'/-: ');
|
||||
if (strlen($testVal) < strlen($timeValue)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
$timeValue = self::_getTimeValue($timeValue);
|
||||
if (is_string($timeValue)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
// Execute function
|
||||
if ($timeValue >= 1) {
|
||||
$timeValue = fmod($timeValue,1);
|
||||
} elseif ($timeValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue);
|
||||
$timeValue = Shared_Date::ExcelToPHP($timeValue);
|
||||
|
||||
return (int) gmdate('i',$timeValue);
|
||||
} // function MINUTEOFHOUR()
|
||||
@ -1352,27 +1344,27 @@ class PHPExcel_Calculation_DateTime {
|
||||
* @return int Second
|
||||
*/
|
||||
public static function SECONDOFMINUTE($timeValue = 0) {
|
||||
$timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue);
|
||||
$timeValue = Calculation_Functions::flattenSingleValue($timeValue);
|
||||
|
||||
if (!is_numeric($timeValue)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
$testVal = strtok($timeValue,'/-: ');
|
||||
if (strlen($testVal) < strlen($timeValue)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
$timeValue = self::_getTimeValue($timeValue);
|
||||
if (is_string($timeValue)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
// Execute function
|
||||
if ($timeValue >= 1) {
|
||||
$timeValue = fmod($timeValue,1);
|
||||
} elseif ($timeValue < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue);
|
||||
$timeValue = Shared_Date::ExcelToPHP($timeValue);
|
||||
|
||||
return (int) gmdate('s',$timeValue);
|
||||
} // function SECONDOFMINUTE()
|
||||
@ -1398,27 +1390,27 @@ class PHPExcel_Calculation_DateTime {
|
||||
* depending on the value of the ReturnDateType flag
|
||||
*/
|
||||
public static function EDATE($dateValue = 1, $adjustmentMonths = 0) {
|
||||
$dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths);
|
||||
$dateValue = Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$adjustmentMonths = Calculation_Functions::flattenSingleValue($adjustmentMonths);
|
||||
|
||||
if (!is_numeric($adjustmentMonths)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$adjustmentMonths = floor($adjustmentMonths);
|
||||
|
||||
if (is_string($dateValue = self::_getDateValue($dateValue))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
$PHPDateObject = self::_adjustDateByMonths($dateValue,$adjustmentMonths);
|
||||
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject);
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject));
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) Shared_Date::PHPToExcel($PHPDateObject);
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) Shared_Date::ExcelToPHP(Shared_Date::PHPToExcel($PHPDateObject));
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return $PHPDateObject;
|
||||
}
|
||||
} // function EDATE()
|
||||
@ -1443,16 +1435,16 @@ class PHPExcel_Calculation_DateTime {
|
||||
* depending on the value of the ReturnDateType flag
|
||||
*/
|
||||
public static function EOMONTH($dateValue = 1, $adjustmentMonths = 0) {
|
||||
$dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths);
|
||||
$dateValue = Calculation_Functions::flattenSingleValue($dateValue);
|
||||
$adjustmentMonths = Calculation_Functions::flattenSingleValue($adjustmentMonths);
|
||||
|
||||
if (!is_numeric($adjustmentMonths)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$adjustmentMonths = floor($adjustmentMonths);
|
||||
|
||||
if (is_string($dateValue = self::_getDateValue($dateValue))) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
// Execute function
|
||||
@ -1461,15 +1453,15 @@ class PHPExcel_Calculation_DateTime {
|
||||
$adjustDaysString = '-'.$adjustDays.' days';
|
||||
$PHPDateObject->modify($adjustDaysString);
|
||||
|
||||
switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject);
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject));
|
||||
case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
switch (Calculation_Functions::getReturnDateType()) {
|
||||
case Calculation_Functions::RETURNDATE_EXCEL :
|
||||
return (float) Shared_Date::PHPToExcel($PHPDateObject);
|
||||
case Calculation_Functions::RETURNDATE_PHP_NUMERIC :
|
||||
return (integer) Shared_Date::ExcelToPHP(Shared_Date::PHPToExcel($PHPDateObject));
|
||||
case Calculation_Functions::RETURNDATE_PHP_OBJECT :
|
||||
return $PHPDateObject;
|
||||
}
|
||||
} // function EOMONTH()
|
||||
|
||||
} // class PHPExcel_Calculation_DateTime
|
||||
}
|
||||
|
||||
|
@ -19,35 +19,27 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/** EULER */
|
||||
define('EULER', 2.71828182845904523536);
|
||||
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_Engineering
|
||||
* PHPExcel\Calculation_Engineering
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_Engineering {
|
||||
class Calculation_Engineering {
|
||||
|
||||
/**
|
||||
* Details of the Units of measure that can be used in CONVERTUOM()
|
||||
@ -766,7 +758,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
if (strlen($xVal) <= $places) {
|
||||
return substr(str_pad($xVal, $places, '0', STR_PAD_LEFT), -10);
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
}
|
||||
|
||||
@ -794,17 +786,17 @@ class PHPExcel_Calculation_Engineering {
|
||||
*
|
||||
*/
|
||||
public static function BESSELI($x, $ord) {
|
||||
$x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord);
|
||||
$x = (is_null($x)) ? 0.0 : Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : Calculation_Functions::flattenSingleValue($ord);
|
||||
|
||||
if ((is_numeric($x)) && (is_numeric($ord))) {
|
||||
$ord = floor($ord);
|
||||
if ($ord < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
if (abs($x) <= 30) {
|
||||
$fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord);
|
||||
$fResult = $fTerm = pow($x / 2, $ord) / Calculation_MathTrig::FACT($ord);
|
||||
$ordK = 1;
|
||||
$fSqrX = ($x * $x) / 4;
|
||||
do {
|
||||
@ -821,9 +813,9 @@ class PHPExcel_Calculation_Engineering {
|
||||
$fResult = -$fResult;
|
||||
}
|
||||
}
|
||||
return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult;
|
||||
return (is_nan($fResult)) ? Calculation_Functions::NaN() : $fResult;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function BESSELI()
|
||||
|
||||
|
||||
@ -846,18 +838,18 @@ class PHPExcel_Calculation_Engineering {
|
||||
*
|
||||
*/
|
||||
public static function BESSELJ($x, $ord) {
|
||||
$x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord);
|
||||
$x = (is_null($x)) ? 0.0 : Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : Calculation_Functions::flattenSingleValue($ord);
|
||||
|
||||
if ((is_numeric($x)) && (is_numeric($ord))) {
|
||||
$ord = floor($ord);
|
||||
if ($ord < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
$fResult = 0;
|
||||
if (abs($x) <= 30) {
|
||||
$fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord);
|
||||
$fResult = $fTerm = pow($x / 2, $ord) / Calculation_MathTrig::FACT($ord);
|
||||
$ordK = 1;
|
||||
$fSqrX = ($x * $x) / -4;
|
||||
do {
|
||||
@ -875,9 +867,9 @@ class PHPExcel_Calculation_Engineering {
|
||||
$fResult = -$fResult;
|
||||
}
|
||||
}
|
||||
return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult;
|
||||
return (is_nan($fResult)) ? Calculation_Functions::NaN() : $fResult;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function BESSELJ()
|
||||
|
||||
|
||||
@ -935,12 +927,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
*
|
||||
*/
|
||||
public static function BESSELK($x, $ord) {
|
||||
$x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord);
|
||||
$x = (is_null($x)) ? 0.0 : Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : Calculation_Functions::flattenSingleValue($ord);
|
||||
|
||||
if ((is_numeric($x)) && (is_numeric($ord))) {
|
||||
if (($ord < 0) || ($x == 0.0)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
switch(floor($ord)) {
|
||||
@ -957,9 +949,9 @@ class PHPExcel_Calculation_Engineering {
|
||||
$fBk = $fBkp;
|
||||
}
|
||||
}
|
||||
return (is_nan($fBk)) ? PHPExcel_Calculation_Functions::NaN() : $fBk;
|
||||
return (is_nan($fBk)) ? Calculation_Functions::NaN() : $fBk;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function BESSELK()
|
||||
|
||||
|
||||
@ -1015,12 +1007,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function BESSELY($x, $ord) {
|
||||
$x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord);
|
||||
$x = (is_null($x)) ? 0.0 : Calculation_Functions::flattenSingleValue($x);
|
||||
$ord = (is_null($ord)) ? 0.0 : Calculation_Functions::flattenSingleValue($ord);
|
||||
|
||||
if ((is_numeric($x)) && (is_numeric($ord))) {
|
||||
if (($ord < 0) || ($x == 0.0)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
switch(floor($ord)) {
|
||||
@ -1037,9 +1029,9 @@ class PHPExcel_Calculation_Engineering {
|
||||
$fBy = $fByp;
|
||||
}
|
||||
}
|
||||
return (is_nan($fBy)) ? PHPExcel_Calculation_Functions::NaN() : $fBy;
|
||||
return (is_nan($fBy)) ? Calculation_Functions::NaN() : $fBy;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function BESSELY()
|
||||
|
||||
|
||||
@ -1062,24 +1054,24 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function BINTODEC($x) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
|
||||
if (is_bool($x)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$x = (int) $x;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
$x = floor($x);
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[01]/',$x,$out)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
if (strlen($x) > 10) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif (strlen($x) == 10) {
|
||||
// Two's Complement
|
||||
$x = substr($x,-9);
|
||||
@ -1114,25 +1106,25 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function BINTOHEX($x, $places=NULL) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$x = (int) $x;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
$x = floor($x);
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[01]/',$x,$out)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
if (strlen($x) > 10) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif (strlen($x) == 10) {
|
||||
// Two's Complement
|
||||
return str_repeat('F',8).substr(strtoupper(dechex(bindec(substr($x,-9)))),-2);
|
||||
@ -1168,25 +1160,25 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function BINTOOCT($x, $places=NULL) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$x = (int) $x;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
$x = floor($x);
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[01]/',$x,$out)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
if (strlen($x) > 10) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif (strlen($x) == 10) {
|
||||
// Two's Complement
|
||||
return str_repeat('7',7).substr(strtoupper(decoct(bindec(substr($x,-9)))),-3);
|
||||
@ -1226,19 +1218,19 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function DECTOBIN($x, $places=NULL) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$x = (int) $x;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) floor($x);
|
||||
$r = decbin($x);
|
||||
@ -1246,7 +1238,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
// Two's Complement
|
||||
$r = substr($r,-10);
|
||||
} elseif (strlen($r) > 11) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
return self::_nbrConversionFormat($r,$places);
|
||||
@ -1282,19 +1274,19 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function DECTOHEX($x, $places=null) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$x = (int) $x;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) floor($x);
|
||||
$r = strtoupper(dechex($x));
|
||||
@ -1336,19 +1328,19 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function DECTOOCT($x, $places=null) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$x = (int) $x;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) floor($x);
|
||||
$r = decoct($x);
|
||||
@ -1393,15 +1385,15 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function HEXTOBIN($x, $places=null) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$binVal = decbin(hexdec($x));
|
||||
|
||||
@ -1429,14 +1421,14 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function HEXTODEC($x) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
|
||||
if (is_bool($x)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
return hexdec($x);
|
||||
} // function HEXTODEC()
|
||||
@ -1475,15 +1467,15 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function HEXTOOCT($x, $places=null) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$octVal = decoct(hexdec($x));
|
||||
|
||||
@ -1526,15 +1518,15 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function OCTTOBIN($x, $places=null) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$r = decbin(octdec($x));
|
||||
|
||||
@ -1562,14 +1554,14 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function OCTTODEC($x) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
|
||||
if (is_bool($x)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
return octdec($x);
|
||||
} // function OCTTODEC()
|
||||
@ -1605,15 +1597,15 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function OCTTOHEX($x, $places=null) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$places = Calculation_Functions::flattenSingleValue($places);
|
||||
|
||||
if (is_bool($x)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$x = (string) $x;
|
||||
if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$hexVal = strtoupper(dechex(octdec($x)));
|
||||
|
||||
@ -1638,9 +1630,9 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function COMPLEX($realNumber=0.0, $imaginary=0.0, $suffix='i') {
|
||||
$realNumber = (is_null($realNumber)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($realNumber);
|
||||
$imaginary = (is_null($imaginary)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($imaginary);
|
||||
$suffix = (is_null($suffix)) ? 'i' : PHPExcel_Calculation_Functions::flattenSingleValue($suffix);
|
||||
$realNumber = (is_null($realNumber)) ? 0.0 : Calculation_Functions::flattenSingleValue($realNumber);
|
||||
$imaginary = (is_null($imaginary)) ? 0.0 : Calculation_Functions::flattenSingleValue($imaginary);
|
||||
$suffix = (is_null($suffix)) ? 'i' : Calculation_Functions::flattenSingleValue($suffix);
|
||||
|
||||
if (((is_numeric($realNumber)) && (is_numeric($imaginary))) &&
|
||||
(($suffix == 'i') || ($suffix == 'j') || ($suffix == ''))) {
|
||||
@ -1668,7 +1660,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
return (string) $realNumber.$imaginary.$suffix;
|
||||
}
|
||||
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function COMPLEX()
|
||||
|
||||
|
||||
@ -1687,7 +1679,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function IMAGINARY($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
return $parsedComplex['imaginary'];
|
||||
@ -1708,7 +1700,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function IMREAL($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
return $parsedComplex['real'];
|
||||
@ -1727,7 +1719,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function IMABS($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
@ -1748,7 +1740,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function IMARGUMENT($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
@ -1782,7 +1774,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMCONJUGATE($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
@ -1810,7 +1802,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string|float
|
||||
*/
|
||||
public static function IMCOS($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
@ -1834,7 +1826,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string|float
|
||||
*/
|
||||
public static function IMSIN($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
@ -1858,7 +1850,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMSQRT($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
@ -1887,12 +1879,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMLN($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
|
||||
$logR = log(sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary'])));
|
||||
@ -1918,12 +1910,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMLOG10($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) {
|
||||
return log10($parsedComplex['real']);
|
||||
}
|
||||
@ -1944,12 +1936,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMLOG2($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) {
|
||||
return log($parsedComplex['real'],2);
|
||||
}
|
||||
@ -1970,7 +1962,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMEXP($complexNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
|
||||
@ -2003,11 +1995,11 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMPOWER($complexNumber,$realNumber) {
|
||||
$complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$realNumber = PHPExcel_Calculation_Functions::flattenSingleValue($realNumber);
|
||||
$complexNumber = Calculation_Functions::flattenSingleValue($complexNumber);
|
||||
$realNumber = Calculation_Functions::flattenSingleValue($realNumber);
|
||||
|
||||
if (!is_numeric($realNumber)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
$parsedComplex = self::_parseComplex($complexNumber);
|
||||
@ -2038,15 +2030,15 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMDIV($complexDividend,$complexDivisor) {
|
||||
$complexDividend = PHPExcel_Calculation_Functions::flattenSingleValue($complexDividend);
|
||||
$complexDivisor = PHPExcel_Calculation_Functions::flattenSingleValue($complexDivisor);
|
||||
$complexDividend = Calculation_Functions::flattenSingleValue($complexDividend);
|
||||
$complexDivisor = Calculation_Functions::flattenSingleValue($complexDivisor);
|
||||
|
||||
$parsedComplexDividend = self::_parseComplex($complexDividend);
|
||||
$parsedComplexDivisor = self::_parseComplex($complexDivisor);
|
||||
|
||||
if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] != '') &&
|
||||
($parsedComplexDividend['suffix'] != $parsedComplexDivisor['suffix'])) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] == '')) {
|
||||
$parsedComplexDivisor['suffix'] = $parsedComplexDividend['suffix'];
|
||||
@ -2082,15 +2074,15 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return string
|
||||
*/
|
||||
public static function IMSUB($complexNumber1,$complexNumber2) {
|
||||
$complexNumber1 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber1);
|
||||
$complexNumber2 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber2);
|
||||
$complexNumber1 = Calculation_Functions::flattenSingleValue($complexNumber1);
|
||||
$complexNumber2 = Calculation_Functions::flattenSingleValue($complexNumber2);
|
||||
|
||||
$parsedComplex1 = self::_parseComplex($complexNumber1);
|
||||
$parsedComplex2 = self::_parseComplex($complexNumber2);
|
||||
|
||||
if ((($parsedComplex1['suffix'] != '') && ($parsedComplex2['suffix'] != '')) &&
|
||||
($parsedComplex1['suffix'] != $parsedComplex2['suffix'])) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif (($parsedComplex1['suffix'] == '') && ($parsedComplex2['suffix'] != '')) {
|
||||
$parsedComplex1['suffix'] = $parsedComplex2['suffix'];
|
||||
}
|
||||
@ -2119,14 +2111,14 @@ class PHPExcel_Calculation_Engineering {
|
||||
$activeSuffix = '';
|
||||
|
||||
// Loop through the arguments
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$aArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
foreach ($aArgs as $arg) {
|
||||
$parsedComplex = self::_parseComplex($arg);
|
||||
|
||||
if ($activeSuffix == '') {
|
||||
$activeSuffix = $parsedComplex['suffix'];
|
||||
} elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
$returnValue['real'] += $parsedComplex['real'];
|
||||
@ -2155,7 +2147,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
$activeSuffix = '';
|
||||
|
||||
// Loop through the arguments
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$aArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
foreach ($aArgs as $arg) {
|
||||
$parsedComplex = self::_parseComplex($arg);
|
||||
|
||||
@ -2163,7 +2155,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
if (($parsedComplex['suffix'] != '') && ($activeSuffix == '')) {
|
||||
$activeSuffix = $parsedComplex['suffix'];
|
||||
} elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$returnValue['real'] = ($workValue['real'] * $parsedComplex['real']) - ($workValue['imaginary'] * $parsedComplex['imaginary']);
|
||||
$returnValue['imaginary'] = ($workValue['real'] * $parsedComplex['imaginary']) + ($workValue['imaginary'] * $parsedComplex['real']);
|
||||
@ -2190,8 +2182,8 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return int
|
||||
*/
|
||||
public static function DELTA($a, $b=0) {
|
||||
$a = PHPExcel_Calculation_Functions::flattenSingleValue($a);
|
||||
$b = PHPExcel_Calculation_Functions::flattenSingleValue($b);
|
||||
$a = Calculation_Functions::flattenSingleValue($a);
|
||||
$b = Calculation_Functions::flattenSingleValue($b);
|
||||
|
||||
return (int) ($a == $b);
|
||||
} // function DELTA()
|
||||
@ -2213,8 +2205,8 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return int
|
||||
*/
|
||||
public static function GESTEP($number, $step=0) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$step = PHPExcel_Calculation_Functions::flattenSingleValue($step);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
$step = Calculation_Functions::flattenSingleValue($step);
|
||||
|
||||
return (int) ($number >= $step);
|
||||
} // function GESTEP()
|
||||
@ -2266,8 +2258,8 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function ERF($lower, $upper = NULL) {
|
||||
$lower = PHPExcel_Calculation_Functions::flattenSingleValue($lower);
|
||||
$upper = PHPExcel_Calculation_Functions::flattenSingleValue($upper);
|
||||
$lower = Calculation_Functions::flattenSingleValue($lower);
|
||||
$upper = Calculation_Functions::flattenSingleValue($upper);
|
||||
|
||||
if (is_numeric($lower)) {
|
||||
if (is_null($upper)) {
|
||||
@ -2277,7 +2269,7 @@ class PHPExcel_Calculation_Engineering {
|
||||
return self::_erfVal($upper) - self::_erfVal($lower);
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function ERF()
|
||||
|
||||
|
||||
@ -2330,12 +2322,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function ERFC($x) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
|
||||
if (is_numeric($x)) {
|
||||
return self::_erfcVal($x);
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function ERFC()
|
||||
|
||||
|
||||
@ -2419,12 +2411,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
* @return float
|
||||
*/
|
||||
public static function CONVERTUOM($value, $fromUOM, $toUOM) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$fromUOM = PHPExcel_Calculation_Functions::flattenSingleValue($fromUOM);
|
||||
$toUOM = PHPExcel_Calculation_Functions::flattenSingleValue($toUOM);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$fromUOM = Calculation_Functions::flattenSingleValue($fromUOM);
|
||||
$toUOM = Calculation_Functions::flattenSingleValue($toUOM);
|
||||
|
||||
if (!is_numeric($value)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$fromMultiplier = 1.0;
|
||||
if (isset(self::$_conversionUnits[$fromUOM])) {
|
||||
@ -2435,12 +2427,12 @@ class PHPExcel_Calculation_Engineering {
|
||||
if (isset(self::$_conversionMultipliers[$fromMultiplier])) {
|
||||
$fromMultiplier = self::$_conversionMultipliers[$fromMultiplier]['multiplier'];
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
if ((isset(self::$_conversionUnits[$fromUOM])) && (self::$_conversionUnits[$fromUOM]['AllowPrefix'])) {
|
||||
$unitGroup1 = self::$_conversionUnits[$fromUOM]['Group'];
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
}
|
||||
$value *= $fromMultiplier;
|
||||
@ -2454,16 +2446,16 @@ class PHPExcel_Calculation_Engineering {
|
||||
if (isset(self::$_conversionMultipliers[$toMultiplier])) {
|
||||
$toMultiplier = self::$_conversionMultipliers[$toMultiplier]['multiplier'];
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
if ((isset(self::$_conversionUnits[$toUOM])) && (self::$_conversionUnits[$toUOM]['AllowPrefix'])) {
|
||||
$unitGroup2 = self::$_conversionUnits[$toUOM]['Group'];
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
}
|
||||
if ($unitGroup1 != $unitGroup2) {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
|
||||
if (($fromUOM == $toUOM) && ($fromMultiplier == $toMultiplier)) {
|
||||
@ -2502,4 +2494,4 @@ class PHPExcel_Calculation_Engineering {
|
||||
return ($value * self::$_unitConversions[$unitGroup1][$fromUOM][$toUOM]) / $toMultiplier;
|
||||
} // function CONVERTUOM()
|
||||
|
||||
} // class PHPExcel_Calculation_Engineering
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
@ -27,13 +27,13 @@
|
||||
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_Exception
|
||||
* PHPExcel\Calculation_Exception
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_Exception extends PHPExcel_Exception {
|
||||
class Calculation_Exception extends Exception {
|
||||
/**
|
||||
* Error handler callback
|
||||
*
|
||||
|
@ -19,25 +19,25 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_ExceptionHandler
|
||||
* PHPExcel\Calculation_ExceptionHandler
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_ExceptionHandler {
|
||||
class Calculation_ExceptionHandler {
|
||||
/**
|
||||
* Register errorhandler
|
||||
*/
|
||||
public function __construct() {
|
||||
set_error_handler(array('PHPExcel_Calculation_Exception', 'errorHandlerCallback'), E_ALL);
|
||||
set_error_handler(array(__NAMESPACE__ . '\Calculation_Exception', 'errorHandlerCallback'), E_ALL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
@ -49,14 +49,17 @@ PARTLY BASED ON:
|
||||
http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_FormulaParser
|
||||
* PHPExcel\Calculation_FormulaParser
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_FormulaParser {
|
||||
class Calculation_FormulaParser {
|
||||
/* Character constants */
|
||||
const QUOTE_DOUBLE = '"';
|
||||
const QUOTE_SINGLE = '\'';
|
||||
@ -85,21 +88,21 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
/**
|
||||
* Tokens
|
||||
*
|
||||
* @var PHPExcel_Calculation_FormulaToken[]
|
||||
* @var PHPExcel\Calculation_FormulaToken[]
|
||||
*/
|
||||
private $_tokens = array();
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Calculation_FormulaParser
|
||||
* Create a new PHPExcel\Calculation_FormulaParser
|
||||
*
|
||||
* @param string $pFormula Formula to parse
|
||||
* @throws PHPExcel_Calculation_Exception
|
||||
* @throws PHPExcel\Calculation_Exception
|
||||
*/
|
||||
public function __construct($pFormula = '')
|
||||
{
|
||||
// Check parameters
|
||||
if (is_null($pFormula)) {
|
||||
throw new PHPExcel_Calculation_Exception("Invalid parameter passed: formula");
|
||||
throw new Calculation_Exception("Invalid parameter passed: formula");
|
||||
}
|
||||
|
||||
// Initialise values
|
||||
@ -122,13 +125,13 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
*
|
||||
* @param int $pId Token id
|
||||
* @return string
|
||||
* @throws PHPExcel_Calculation_Exception
|
||||
* @throws PHPExcel\Calculation_Exception
|
||||
*/
|
||||
public function getToken($pId = 0) {
|
||||
if (isset($this->_tokens[$pId])) {
|
||||
return $this->_tokens[$pId];
|
||||
} else {
|
||||
throw new PHPExcel_Calculation_Exception("Token with id $pId does not exist.");
|
||||
throw new Calculation_Exception("Token with id $pId does not exist.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,7 +147,7 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
/**
|
||||
* Get Tokens
|
||||
*
|
||||
* @return PHPExcel_Calculation_FormulaToken[]
|
||||
* @return PHPExcel\Calculation_FormulaToken[]
|
||||
*/
|
||||
public function getTokens() {
|
||||
return $this->_tokens;
|
||||
@ -179,13 +182,13 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
// embeds are doubled
|
||||
// end marks token
|
||||
if ($inString) {
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) {
|
||||
if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE)) {
|
||||
$value .= PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE;
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::QUOTE_DOUBLE) {
|
||||
if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == Calculation_FormulaParser::QUOTE_DOUBLE)) {
|
||||
$value .= Calculation_FormulaParser::QUOTE_DOUBLE;
|
||||
++$index;
|
||||
} else {
|
||||
$inString = false;
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_TEXT);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND, Calculation_FormulaToken::TOKEN_SUBTYPE_TEXT);
|
||||
$value = "";
|
||||
}
|
||||
} else {
|
||||
@ -199,9 +202,9 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
// embeds are double
|
||||
// end does not mark a token
|
||||
if ($inPath) {
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) {
|
||||
if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE)) {
|
||||
$value .= PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE;
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::QUOTE_SINGLE) {
|
||||
if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == Calculation_FormulaParser::QUOTE_SINGLE)) {
|
||||
$value .= Calculation_FormulaParser::QUOTE_SINGLE;
|
||||
++$index;
|
||||
} else {
|
||||
$inPath = false;
|
||||
@ -217,7 +220,7 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
// no embeds (changed to "()" by Excel)
|
||||
// end does not mark a token
|
||||
if ($inRange) {
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_CLOSE) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::BRACKET_CLOSE) {
|
||||
$inRange = false;
|
||||
}
|
||||
$value .= $this->_formula{$index};
|
||||
@ -232,14 +235,14 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
++$index;
|
||||
if (in_array($value, $ERRORS)) {
|
||||
$inError = false;
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_ERROR);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND, Calculation_FormulaToken::TOKEN_SUBTYPE_ERROR);
|
||||
$value = "";
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
// scientific notation check
|
||||
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_SN, $this->_formula{$index}) !== false) {
|
||||
if (strpos(Calculation_FormulaParser::OPERATORS_SN, $this->_formula{$index}) !== false) {
|
||||
if (strlen($value) > 1) {
|
||||
if (preg_match("/^[1-9]{1}(\.[0-9]+)?E{1}$/", $this->_formula{$index}) != 0) {
|
||||
$value .= $this->_formula{$index};
|
||||
@ -252,9 +255,9 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
// independent character evaluation (order not important)
|
||||
|
||||
// establish state-dependent character evaluations
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::QUOTE_DOUBLE) {
|
||||
if (strlen($value > 0)) { // unexpected
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$value = "";
|
||||
}
|
||||
$inString = true;
|
||||
@ -262,9 +265,9 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::QUOTE_SINGLE) {
|
||||
if (strlen($value) > 0) { // unexpected
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$value = "";
|
||||
}
|
||||
$inPath = true;
|
||||
@ -272,36 +275,36 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_OPEN) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::BRACKET_OPEN) {
|
||||
$inRange = true;
|
||||
$value .= PHPExcel_Calculation_FormulaParser::BRACKET_OPEN;
|
||||
$value .= Calculation_FormulaParser::BRACKET_OPEN;
|
||||
++$index;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::ERROR_START) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::ERROR_START) {
|
||||
if (strlen($value) > 0) { // unexpected
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$value = "";
|
||||
}
|
||||
$inError = true;
|
||||
$value .= PHPExcel_Calculation_FormulaParser::ERROR_START;
|
||||
$value .= Calculation_FormulaParser::ERROR_START;
|
||||
++$index;
|
||||
continue;
|
||||
}
|
||||
|
||||
// mark start and end of arrays and array rows
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_OPEN) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::BRACE_OPEN) {
|
||||
if (strlen($value) > 0) { // unexpected
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||
$value = "";
|
||||
}
|
||||
|
||||
$tmp = new PHPExcel_Calculation_FormulaToken("ARRAY", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tmp = new Calculation_FormulaToken("ARRAY", Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tokens1[] = $tmp;
|
||||
$stack[] = clone $tmp;
|
||||
|
||||
$tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tmp = new Calculation_FormulaToken("ARRAYROW", Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tokens1[] = $tmp;
|
||||
$stack[] = clone $tmp;
|
||||
|
||||
@ -309,21 +312,21 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::SEMICOLON) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::SEMICOLON) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
|
||||
$tmp = array_pop($stack);
|
||||
$tmp->setValue("");
|
||||
$tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tmp->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tokens1[] = $tmp;
|
||||
|
||||
$tmp = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT);
|
||||
$tmp = new Calculation_FormulaToken(",", Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT);
|
||||
$tokens1[] = $tmp;
|
||||
|
||||
$tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tmp = new Calculation_FormulaToken("ARRAYROW", Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tokens1[] = $tmp;
|
||||
$stack[] = clone $tmp;
|
||||
|
||||
@ -331,20 +334,20 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_CLOSE) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::BRACE_CLOSE) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
|
||||
$tmp = array_pop($stack);
|
||||
$tmp->setValue("");
|
||||
$tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tmp->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tokens1[] = $tmp;
|
||||
|
||||
$tmp = array_pop($stack);
|
||||
$tmp->setValue("");
|
||||
$tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tmp->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tokens1[] = $tmp;
|
||||
|
||||
++$index;
|
||||
@ -352,14 +355,14 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
}
|
||||
|
||||
// trim white-space
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::WHITESPACE) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE);
|
||||
$tokens1[] = new Calculation_FormulaToken("", Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE);
|
||||
++$index;
|
||||
while (($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) && ($index < $formulaLength)) {
|
||||
while (($this->_formula{$index} == Calculation_FormulaParser::WHITESPACE) && ($index < $formulaLength)) {
|
||||
++$index;
|
||||
}
|
||||
continue;
|
||||
@ -369,46 +372,46 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
if (($index + 2) <= $formulaLength) {
|
||||
if (in_array(substr($this->_formula, $index, 2), $COMPARATORS_MULTI)) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken(substr($this->_formula, $index, 2), PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||
$tokens1[] = new Calculation_FormulaToken(substr($this->_formula, $index, 2), Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||
$index += 2;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// standard infix operators
|
||||
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_INFIX, $this->_formula{$index}) !== false) {
|
||||
if (strpos(Calculation_FormulaParser::OPERATORS_INFIX, $this->_formula{$index}) !== false) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] =new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] =new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($this->_formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX);
|
||||
$tokens1[] = new Calculation_FormulaToken($this->_formula{$index}, Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX);
|
||||
++$index;
|
||||
continue;
|
||||
}
|
||||
|
||||
// standard postfix operators (only one)
|
||||
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_POSTFIX, $this->_formula{$index}) !== false) {
|
||||
if (strpos(Calculation_FormulaParser::OPERATORS_POSTFIX, $this->_formula{$index}) !== false) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($this->_formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX);
|
||||
$tokens1[] = new Calculation_FormulaToken($this->_formula{$index}, Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX);
|
||||
++$index;
|
||||
continue;
|
||||
}
|
||||
|
||||
// start subexpression or function
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_OPEN) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::PAREN_OPEN) {
|
||||
if (strlen($value) > 0) {
|
||||
$tmp = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tmp = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tokens1[] = $tmp;
|
||||
$stack[] = clone $tmp;
|
||||
$value = "";
|
||||
} else {
|
||||
$tmp = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tmp = new Calculation_FormulaToken("", Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION, Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
||||
$tokens1[] = $tmp;
|
||||
$stack[] = clone $tmp;
|
||||
}
|
||||
@ -417,36 +420,36 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
}
|
||||
|
||||
// function, subexpression, or array parameters, or operand unions
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::COMMA) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::COMMA) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
|
||||
$tmp = array_pop($stack);
|
||||
$tmp->setValue("");
|
||||
$tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tmp->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$stack[] = $tmp;
|
||||
|
||||
if ($tmp->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_UNION);
|
||||
if ($tmp->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) {
|
||||
$tokens1[] = new Calculation_FormulaToken(",", Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, Calculation_FormulaToken::TOKEN_SUBTYPE_UNION);
|
||||
} else {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT);
|
||||
$tokens1[] = new Calculation_FormulaToken(",", Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT);
|
||||
}
|
||||
++$index;
|
||||
continue;
|
||||
}
|
||||
|
||||
// stop subexpression
|
||||
if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_CLOSE) {
|
||||
if ($this->_formula{$index} == Calculation_FormulaParser::PAREN_CLOSE) {
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$value = "";
|
||||
}
|
||||
|
||||
$tmp = array_pop($stack);
|
||||
$tmp->setValue("");
|
||||
$tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tmp->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||
$tokens1[] = $tmp;
|
||||
|
||||
++$index;
|
||||
@ -460,7 +463,7 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
|
||||
// dump remaining accumulation
|
||||
if (strlen($value) > 0) {
|
||||
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
$tokens1[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
||||
}
|
||||
|
||||
// move tokenList to new set, excluding unnecessary white-space tokens and converting necessary ones to intersections
|
||||
@ -482,7 +485,7 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($token->getTokenType() != PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE) {
|
||||
if ($token->getTokenType() != Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE) {
|
||||
$tokens2[] = $token;
|
||||
continue;
|
||||
}
|
||||
@ -492,9 +495,9 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
}
|
||||
|
||||
if (! (
|
||||
(($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
(($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
(($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
(($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
) ) {
|
||||
continue;
|
||||
}
|
||||
@ -504,14 +507,14 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
}
|
||||
|
||||
if (! (
|
||||
(($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) ||
|
||||
(($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) ||
|
||||
($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
(($nextToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($nextToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_START)) ||
|
||||
(($nextToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($nextToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_START)) ||
|
||||
($nextToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$tokens2[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_INTERSECTION);
|
||||
$tokens2[] = new Calculation_FormulaToken($value, Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, Calculation_FormulaToken::TOKEN_SUBTYPE_INTERSECTION);
|
||||
}
|
||||
|
||||
// move tokens to final list, switching infix "-" operators to prefix when appropriate, switching infix "+" operators
|
||||
@ -536,34 +539,34 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "-") {
|
||||
if ($token->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "-") {
|
||||
if ($i == 0) {
|
||||
$token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX);
|
||||
$token->setTokenType(Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX);
|
||||
} else if (
|
||||
(($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
(($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) ||
|
||||
($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
(($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
(($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) ||
|
||||
($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
) {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||
} else {
|
||||
$token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX);
|
||||
$token->setTokenType(Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX);
|
||||
}
|
||||
|
||||
$this->_tokens[] = $token;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "+") {
|
||||
if ($token->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "+") {
|
||||
if ($i == 0) {
|
||||
continue;
|
||||
} else if (
|
||||
(($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
(($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) ||
|
||||
($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
(($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
(($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||
($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) ||
|
||||
($previousToken->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERAND)
|
||||
) {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
@ -572,35 +575,35 @@ class PHPExcel_Calculation_FormulaParser {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||
if ($token->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||
if (strpos("<>=", substr($token->getValue(), 0, 1)) !== false) {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||
} else if ($token->getValue() == "&") {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_CONCATENATION);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_CONCATENATION);
|
||||
} else {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||
}
|
||||
|
||||
$this->_tokens[] = $token;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND && $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||
if ($token->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_OPERAND && $token->getTokenSubType() == Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||
if (!is_numeric($token->getValue())) {
|
||||
if (strtoupper($token->getValue()) == "TRUE" || strtoupper($token->getValue() == "FALSE")) {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||
} else {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_RANGE);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_RANGE);
|
||||
}
|
||||
} else {
|
||||
$token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NUMBER);
|
||||
$token->setTokenSubType(Calculation_FormulaToken::TOKEN_SUBTYPE_NUMBER);
|
||||
}
|
||||
|
||||
$this->_tokens[] = $token;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) {
|
||||
if ($token->getTokenType() == Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) {
|
||||
if (strlen($token->getValue() > 0)) {
|
||||
if (substr($token->getValue(), 0, 1) == "@") {
|
||||
$token->setValue(substr($token->getValue(), 1));
|
||||
|
@ -19,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
@ -50,14 +50,16 @@ PARTLY BASED ON:
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_FormulaToken
|
||||
* PHPExcel\Calculation_FormulaToken
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_FormulaToken {
|
||||
class Calculation_FormulaToken {
|
||||
/* Token types */
|
||||
const TOKEN_TYPE_NOOP = 'Noop';
|
||||
const TOKEN_TYPE_OPERAND = 'Operand';
|
||||
@ -106,13 +108,13 @@ class PHPExcel_Calculation_FormulaToken {
|
||||
private $_tokenSubType;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Calculation_FormulaToken
|
||||
* Create a new PHPExcel\Calculation_FormulaToken
|
||||
*
|
||||
* @param string $pValue
|
||||
* @param string $pTokenType Token type (represented by TOKEN_TYPE_*)
|
||||
* @param string $pTokenSubType Token Subtype (represented by TOKEN_SUBTYPE_*)
|
||||
*/
|
||||
public function __construct($pValue, $pTokenType = PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN, $pTokenSubType = PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING)
|
||||
public function __construct($pValue, $pTokenType = Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN, $pTokenSubType = Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING)
|
||||
{
|
||||
// Initialise values
|
||||
$this->_value = $pValue;
|
||||
@ -152,7 +154,7 @@ class PHPExcel_Calculation_FormulaToken {
|
||||
*
|
||||
* @param string $value
|
||||
*/
|
||||
public function setTokenType($value = PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN) {
|
||||
public function setTokenType($value = Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN) {
|
||||
$this->_tokenType = $value;
|
||||
}
|
||||
|
||||
@ -170,7 +172,7 @@ class PHPExcel_Calculation_FormulaToken {
|
||||
*
|
||||
* @param string $value
|
||||
*/
|
||||
public function setTokenSubType($value = PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||
public function setTokenSubType($value = Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||
$this->_tokenSubType = $value;
|
||||
}
|
||||
}
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_Function
|
||||
* PHPExcel\Calculation_Function
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_Function {
|
||||
class Calculation_Function {
|
||||
/* Function categories */
|
||||
const CATEGORY_CUBE = 'Cube';
|
||||
const CATEGORY_DATABASE = 'Database';
|
||||
@ -69,12 +71,12 @@ class PHPExcel_Calculation_Function {
|
||||
private $_phpExcelName;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Calculation_Function
|
||||
* Create a new PHPExcel\Calculation_Function
|
||||
*
|
||||
* @param string $pCategory Category (represented by CATEGORY_*)
|
||||
* @param string $pExcelName Excel function name
|
||||
* @param string $pPHPExcelName PHPExcel function mapping
|
||||
* @throws PHPExcel_Calculation_Exception
|
||||
* @throws PHPExcel\Calculation_Exception
|
||||
*/
|
||||
public function __construct($pCategory = NULL, $pExcelName = NULL, $pPHPExcelName = NULL)
|
||||
{
|
||||
@ -84,7 +86,7 @@ class PHPExcel_Calculation_Function {
|
||||
$this->_excelName = $pExcelName;
|
||||
$this->_phpExcelName = $pPHPExcelName;
|
||||
} else {
|
||||
throw new PHPExcel_Calculation_Exception("Invalid parameters passed.");
|
||||
throw new Calculation_Exception("Invalid parameters passed.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,13 +103,13 @@ class PHPExcel_Calculation_Function {
|
||||
* Set Category (represented by CATEGORY_*)
|
||||
*
|
||||
* @param string $value
|
||||
* @throws PHPExcel_Calculation_Exception
|
||||
* @throws PHPExcel\Calculation_Exception
|
||||
*/
|
||||
public function setCategory($value = null) {
|
||||
if (!is_null($value)) {
|
||||
$this->_category = $value;
|
||||
} else {
|
||||
throw new PHPExcel_Calculation_Exception("Invalid parameter passed.");
|
||||
throw new Calculation_Exception("Invalid parameter passed.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,22 +19,13 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/** MAX_VALUE */
|
||||
define('MAX_VALUE', 1.2e308);
|
||||
@ -50,13 +41,13 @@ define('PRECISION', 8.88E-016);
|
||||
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_Functions
|
||||
* PHPExcel\Calculation_Functions
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_Functions {
|
||||
class Calculation_Functions {
|
||||
|
||||
/** constants */
|
||||
const COMPATIBILITY_EXCEL = 'Excel';
|
||||
@ -108,9 +99,9 @@ class PHPExcel_Calculation_Functions {
|
||||
* @category Function Configuration
|
||||
* @param string $compatibilityMode Compatibility Mode
|
||||
* Permitted values are:
|
||||
* PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel'
|
||||
* PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric'
|
||||
* PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc'
|
||||
* PHPExcel\Calculation_Functions::COMPATIBILITY_EXCEL 'Excel'
|
||||
* PHPExcel\Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric'
|
||||
* PHPExcel\Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc'
|
||||
* @return boolean (Success or Failure)
|
||||
*/
|
||||
public static function setCompatibilityMode($compatibilityMode) {
|
||||
@ -131,9 +122,9 @@ class PHPExcel_Calculation_Functions {
|
||||
* @category Function Configuration
|
||||
* @return string Compatibility Mode
|
||||
* Possible Return values are:
|
||||
* PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel'
|
||||
* PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric'
|
||||
* PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc'
|
||||
* PHPExcel\Calculation_Functions::COMPATIBILITY_EXCEL 'Excel'
|
||||
* PHPExcel\Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric'
|
||||
* PHPExcel\Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc'
|
||||
*/
|
||||
public static function getCompatibilityMode() {
|
||||
return self::$compatibilityMode;
|
||||
@ -147,9 +138,9 @@ class PHPExcel_Calculation_Functions {
|
||||
* @category Function Configuration
|
||||
* @param string $returnDateType Return Date Format
|
||||
* Permitted values are:
|
||||
* PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P'
|
||||
* PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O'
|
||||
* PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E'
|
||||
* PHPExcel\Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P'
|
||||
* PHPExcel\Calculation_Functions::RETURNDATE_PHP_OBJECT 'O'
|
||||
* PHPExcel\Calculation_Functions::RETURNDATE_EXCEL 'E'
|
||||
* @return boolean Success or failure
|
||||
*/
|
||||
public static function setReturnDateType($returnDateType) {
|
||||
@ -170,9 +161,9 @@ class PHPExcel_Calculation_Functions {
|
||||
* @category Function Configuration
|
||||
* @return string Return Date Format
|
||||
* Possible Return values are:
|
||||
* PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P'
|
||||
* PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O'
|
||||
* PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E'
|
||||
* PHPExcel\Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P'
|
||||
* PHPExcel\Calculation_Functions::RETURNDATE_PHP_OBJECT 'O'
|
||||
* PHPExcel\Calculation_Functions::RETURNDATE_EXCEL 'E'
|
||||
*/
|
||||
public static function getReturnDateType() {
|
||||
return self::$ReturnDateType;
|
||||
@ -307,16 +298,16 @@ class PHPExcel_Calculation_Functions {
|
||||
|
||||
|
||||
public static function _ifCondition($condition) {
|
||||
$condition = PHPExcel_Calculation_Functions::flattenSingleValue($condition);
|
||||
$condition = Calculation_Functions::flattenSingleValue($condition);
|
||||
if (!isset($condition{0}))
|
||||
$condition = '=""';
|
||||
if (!in_array($condition{0},array('>', '<', '='))) {
|
||||
if (!is_numeric($condition)) { $condition = PHPExcel_Calculation::_wrapResult(strtoupper($condition)); }
|
||||
if (!is_numeric($condition)) { $condition = Calculation::_wrapResult(strtoupper($condition)); }
|
||||
return '='.$condition;
|
||||
} else {
|
||||
preg_match('/([<>=]+)(.*)/',$condition,$matches);
|
||||
list(,$operator,$operand) = $matches;
|
||||
if (!is_numeric($operand)) { $operand = PHPExcel_Calculation::_wrapResult(strtoupper($operand)); }
|
||||
if (!is_numeric($operand)) { $operand = Calculation::_wrapResult(strtoupper($operand)); }
|
||||
return $operator.$operand;
|
||||
}
|
||||
} // function _ifCondition()
|
||||
@ -663,7 +654,7 @@ class PHPExcel_Calculation_Functions {
|
||||
return $value;
|
||||
} // function flattenSingleValue()
|
||||
|
||||
} // class PHPExcel_Calculation_Functions
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
|
@ -19,31 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_Logical
|
||||
* PHPExcel\Calculation_Logical
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_Logical {
|
||||
class Calculation_Logical {
|
||||
|
||||
/**
|
||||
* TRUE
|
||||
@ -105,7 +97,7 @@ class PHPExcel_Calculation_Logical {
|
||||
$returnValue = TRUE;
|
||||
|
||||
// Loop through the arguments
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$aArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
$argCount = -1;
|
||||
foreach ($aArgs as $argCount => $arg) {
|
||||
// Is it a boolean value?
|
||||
@ -115,12 +107,12 @@ class PHPExcel_Calculation_Logical {
|
||||
$returnValue = $returnValue && ($arg != 0);
|
||||
} elseif (is_string($arg)) {
|
||||
$arg = strtoupper($arg);
|
||||
if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) {
|
||||
if (($arg == 'TRUE') || ($arg == Calculation::getTRUE())) {
|
||||
$arg = TRUE;
|
||||
} elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) {
|
||||
} elseif (($arg == 'FALSE') || ($arg == Calculation::getFALSE())) {
|
||||
$arg = FALSE;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$returnValue = $returnValue && ($arg != 0);
|
||||
}
|
||||
@ -128,7 +120,7 @@ class PHPExcel_Calculation_Logical {
|
||||
|
||||
// Return
|
||||
if ($argCount < 0) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
return $returnValue;
|
||||
} // function LOGICAL_AND()
|
||||
@ -160,7 +152,7 @@ class PHPExcel_Calculation_Logical {
|
||||
$returnValue = FALSE;
|
||||
|
||||
// Loop through the arguments
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$aArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
$argCount = -1;
|
||||
foreach ($aArgs as $argCount => $arg) {
|
||||
// Is it a boolean value?
|
||||
@ -170,12 +162,12 @@ class PHPExcel_Calculation_Logical {
|
||||
$returnValue = $returnValue || ($arg != 0);
|
||||
} elseif (is_string($arg)) {
|
||||
$arg = strtoupper($arg);
|
||||
if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) {
|
||||
if (($arg == 'TRUE') || ($arg == Calculation::getTRUE())) {
|
||||
$arg = TRUE;
|
||||
} elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) {
|
||||
} elseif (($arg == 'FALSE') || ($arg == Calculation::getFALSE())) {
|
||||
$arg = FALSE;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$returnValue = $returnValue || ($arg != 0);
|
||||
}
|
||||
@ -183,7 +175,7 @@ class PHPExcel_Calculation_Logical {
|
||||
|
||||
// Return
|
||||
if ($argCount < 0) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
return $returnValue;
|
||||
} // function LOGICAL_OR()
|
||||
@ -210,15 +202,15 @@ class PHPExcel_Calculation_Logical {
|
||||
* @return boolean The boolean inverse of the argument.
|
||||
*/
|
||||
public static function NOT($logical=FALSE) {
|
||||
$logical = PHPExcel_Calculation_Functions::flattenSingleValue($logical);
|
||||
$logical = Calculation_Functions::flattenSingleValue($logical);
|
||||
if (is_string($logical)) {
|
||||
$logical = strtoupper($logical);
|
||||
if (($logical == 'TRUE') || ($logical == PHPExcel_Calculation::getTRUE())) {
|
||||
if (($logical == 'TRUE') || ($logical == Calculation::getTRUE())) {
|
||||
return FALSE;
|
||||
} elseif (($logical == 'FALSE') || ($logical == PHPExcel_Calculation::getFALSE())) {
|
||||
} elseif (($logical == 'FALSE') || ($logical == Calculation::getFALSE())) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
|
||||
@ -258,9 +250,9 @@ class PHPExcel_Calculation_Logical {
|
||||
* @return mixed The value of returnIfTrue or returnIfFalse determined by condition
|
||||
*/
|
||||
public static function STATEMENT_IF($condition = TRUE, $returnIfTrue = 0, $returnIfFalse = FALSE) {
|
||||
$condition = (is_null($condition)) ? TRUE : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($condition);
|
||||
$returnIfTrue = (is_null($returnIfTrue)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfTrue);
|
||||
$returnIfFalse = (is_null($returnIfFalse)) ? FALSE : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfFalse);
|
||||
$condition = (is_null($condition)) ? TRUE : (boolean) Calculation_Functions::flattenSingleValue($condition);
|
||||
$returnIfTrue = (is_null($returnIfTrue)) ? 0 : Calculation_Functions::flattenSingleValue($returnIfTrue);
|
||||
$returnIfFalse = (is_null($returnIfFalse)) ? FALSE : Calculation_Functions::flattenSingleValue($returnIfFalse);
|
||||
|
||||
return ($condition) ? $returnIfTrue : $returnIfFalse;
|
||||
} // function STATEMENT_IF()
|
||||
@ -279,10 +271,10 @@ class PHPExcel_Calculation_Logical {
|
||||
* @return mixed The value of errorpart or testValue determined by error condition
|
||||
*/
|
||||
public static function IFERROR($testValue = '', $errorpart = '') {
|
||||
$testValue = (is_null($testValue)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($testValue);
|
||||
$errorpart = (is_null($errorpart)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($errorpart);
|
||||
$testValue = (is_null($testValue)) ? '' : Calculation_Functions::flattenSingleValue($testValue);
|
||||
$errorpart = (is_null($errorpart)) ? '' : Calculation_Functions::flattenSingleValue($errorpart);
|
||||
|
||||
return self::STATEMENT_IF(PHPExcel_Calculation_Functions::IS_ERROR($testValue), $errorpart, $testValue);
|
||||
return self::STATEMENT_IF(Calculation_Functions::IS_ERROR($testValue), $errorpart, $testValue);
|
||||
} // function IFERROR()
|
||||
|
||||
} // class PHPExcel_Calculation_Logical
|
||||
}
|
||||
|
@ -19,32 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_LookupRef
|
||||
* PHPExcel\Calculation_LookupRef
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_LookupRef {
|
||||
|
||||
class Calculation_LookupRef {
|
||||
|
||||
/**
|
||||
* CELL_ADDRESS
|
||||
@ -68,13 +59,13 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* @return string
|
||||
*/
|
||||
public static function CELL_ADDRESS($row, $column, $relativity=1, $referenceStyle=True, $sheetText='') {
|
||||
$row = PHPExcel_Calculation_Functions::flattenSingleValue($row);
|
||||
$column = PHPExcel_Calculation_Functions::flattenSingleValue($column);
|
||||
$relativity = PHPExcel_Calculation_Functions::flattenSingleValue($relativity);
|
||||
$sheetText = PHPExcel_Calculation_Functions::flattenSingleValue($sheetText);
|
||||
$row = Calculation_Functions::flattenSingleValue($row);
|
||||
$column = Calculation_Functions::flattenSingleValue($column);
|
||||
$relativity = Calculation_Functions::flattenSingleValue($relativity);
|
||||
$sheetText = Calculation_Functions::flattenSingleValue($sheetText);
|
||||
|
||||
if (($row < 1) || ($column < 1)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if ($sheetText > '') {
|
||||
@ -83,7 +74,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
}
|
||||
if ((!is_bool($referenceStyle)) || $referenceStyle) {
|
||||
$rowRelative = $columnRelative = '$';
|
||||
$column = PHPExcel_Cell::stringFromColumnIndex($column-1);
|
||||
$column = Cell::stringFromColumnIndex($column-1);
|
||||
if (($relativity == 2) || ($relativity == 4)) { $columnRelative = ''; }
|
||||
if (($relativity == 3) || ($relativity == 4)) { $rowRelative = ''; }
|
||||
return $sheetText.$columnRelative.$column.$rowRelative.$row;
|
||||
@ -115,7 +106,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
if (is_array($cellAddress)) {
|
||||
foreach($cellAddress as $columnKey => $value) {
|
||||
$columnKey = preg_replace('/[^a-z]/i','',$columnKey);
|
||||
return (integer) PHPExcel_Cell::columnIndexFromString($columnKey);
|
||||
return (integer) Cell::columnIndexFromString($columnKey);
|
||||
}
|
||||
} else {
|
||||
if (strpos($cellAddress,'!') !== false) {
|
||||
@ -127,12 +118,12 @@ class PHPExcel_Calculation_LookupRef {
|
||||
$endAddress = preg_replace('/[^a-z]/i','',$endAddress);
|
||||
$returnValue = array();
|
||||
do {
|
||||
$returnValue[] = (integer) PHPExcel_Cell::columnIndexFromString($startAddress);
|
||||
$returnValue[] = (integer) Cell::columnIndexFromString($startAddress);
|
||||
} while ($startAddress++ != $endAddress);
|
||||
return $returnValue;
|
||||
} else {
|
||||
$cellAddress = preg_replace('/[^a-z]/i','',$cellAddress);
|
||||
return (integer) PHPExcel_Cell::columnIndexFromString($cellAddress);
|
||||
return (integer) Cell::columnIndexFromString($cellAddress);
|
||||
}
|
||||
}
|
||||
} // function COLUMN()
|
||||
@ -153,13 +144,13 @@ class PHPExcel_Calculation_LookupRef {
|
||||
if (is_null($cellAddress) || $cellAddress === '') {
|
||||
return 1;
|
||||
} elseif (!is_array($cellAddress)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
$x = array_keys($cellAddress);
|
||||
$x = array_shift($x);
|
||||
$isMatrix = (is_numeric($x));
|
||||
list($columns,$rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress);
|
||||
list($columns,$rows) = Calculation::_getMatrixDimensions($cellAddress);
|
||||
|
||||
if ($isMatrix) {
|
||||
return $rows;
|
||||
@ -228,12 +219,12 @@ class PHPExcel_Calculation_LookupRef {
|
||||
if (is_null($cellAddress) || $cellAddress === '') {
|
||||
return 1;
|
||||
} elseif (!is_array($cellAddress)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
$i = array_keys($cellAddress);
|
||||
$isMatrix = (is_numeric(array_shift($i)));
|
||||
list($columns,$rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress);
|
||||
list($columns,$rows) = Calculation::_getMatrixDimensions($cellAddress);
|
||||
|
||||
if ($isMatrix) {
|
||||
return $columns;
|
||||
@ -253,18 +244,18 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* @category Logical Functions
|
||||
* @param string $linkURL Value to check, is also the value returned when no error
|
||||
* @param string $displayName Value to return when testValue is an error condition
|
||||
* @param PHPExcel_Cell $pCell The cell to set the hyperlink in
|
||||
* @param PHPExcel\Cell $pCell The cell to set the hyperlink in
|
||||
* @return mixed The value of $displayName (or $linkURL if $displayName was blank)
|
||||
*/
|
||||
public static function HYPERLINK($linkURL = '', $displayName = null, PHPExcel_Cell $pCell = null) {
|
||||
public static function HYPERLINK($linkURL = '', $displayName = null, Cell $pCell = null) {
|
||||
$args = func_get_args();
|
||||
$pCell = array_pop($args);
|
||||
|
||||
$linkURL = (is_null($linkURL)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($linkURL);
|
||||
$displayName = (is_null($displayName)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($displayName);
|
||||
$linkURL = (is_null($linkURL)) ? '' : Calculation_Functions::flattenSingleValue($linkURL);
|
||||
$displayName = (is_null($displayName)) ? '' : Calculation_Functions::flattenSingleValue($displayName);
|
||||
|
||||
if ((!is_object($pCell)) || (trim($linkURL) == '')) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
}
|
||||
|
||||
if ((is_object($displayName)) || trim($displayName) == '') {
|
||||
@ -289,16 +280,16 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* NOTE - INDIRECT() does not yet support the optional a1 parameter introduced in Excel 2010
|
||||
*
|
||||
* @param cellAddress $cellAddress The cell address of the current cell (containing this formula)
|
||||
* @param PHPExcel_Cell $pCell The current cell (containing this formula)
|
||||
* @param PHPExcel\Cell $pCell The current cell (containing this formula)
|
||||
* @return mixed The cells referenced by cellAddress
|
||||
*
|
||||
* @todo Support for the optional a1 parameter introduced in Excel 2010
|
||||
*
|
||||
*/
|
||||
public static function INDIRECT($cellAddress = NULL, PHPExcel_Cell $pCell = NULL) {
|
||||
$cellAddress = PHPExcel_Calculation_Functions::flattenSingleValue($cellAddress);
|
||||
public static function INDIRECT($cellAddress = NULL, Cell $pCell = NULL) {
|
||||
$cellAddress = Calculation_Functions::flattenSingleValue($cellAddress);
|
||||
if (is_null($cellAddress) || $cellAddress === '') {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
}
|
||||
|
||||
$cellAddress1 = $cellAddress;
|
||||
@ -307,10 +298,10 @@ class PHPExcel_Calculation_LookupRef {
|
||||
list($cellAddress1,$cellAddress2) = explode(':',$cellAddress);
|
||||
}
|
||||
|
||||
if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress1, $matches)) ||
|
||||
((!is_null($cellAddress2)) && (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress2, $matches)))) {
|
||||
if (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $cellAddress1, $matches)) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
if ((!preg_match('/^'.Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress1, $matches)) ||
|
||||
((!is_null($cellAddress2)) && (!preg_match('/^'.Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress2, $matches)))) {
|
||||
if (!preg_match('/^'.Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $cellAddress1, $matches)) {
|
||||
return Calculation_Functions::REF();
|
||||
}
|
||||
|
||||
if (strpos($cellAddress,'!') !== FALSE) {
|
||||
@ -321,7 +312,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
$pSheet = $pCell->getParent();
|
||||
}
|
||||
|
||||
return PHPExcel_Calculation::getInstance()->extractNamedRange($cellAddress, $pSheet, FALSE);
|
||||
return Calculation::getInstance()->extractNamedRange($cellAddress, $pSheet, FALSE);
|
||||
}
|
||||
|
||||
if (strpos($cellAddress,'!') !== FALSE) {
|
||||
@ -332,7 +323,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
$pSheet = $pCell->getParent();
|
||||
}
|
||||
|
||||
return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, FALSE);
|
||||
return Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, FALSE);
|
||||
} // function INDIRECT()
|
||||
|
||||
|
||||
@ -362,10 +353,10 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* @return string A reference to a cell or range of cells
|
||||
*/
|
||||
public static function OFFSET($cellAddress=Null,$rows=0,$columns=0,$height=null,$width=null) {
|
||||
$rows = PHPExcel_Calculation_Functions::flattenSingleValue($rows);
|
||||
$columns = PHPExcel_Calculation_Functions::flattenSingleValue($columns);
|
||||
$height = PHPExcel_Calculation_Functions::flattenSingleValue($height);
|
||||
$width = PHPExcel_Calculation_Functions::flattenSingleValue($width);
|
||||
$rows = Calculation_Functions::flattenSingleValue($rows);
|
||||
$columns = Calculation_Functions::flattenSingleValue($columns);
|
||||
$height = Calculation_Functions::flattenSingleValue($height);
|
||||
$width = Calculation_Functions::flattenSingleValue($width);
|
||||
if ($cellAddress == Null) {
|
||||
return 0;
|
||||
}
|
||||
@ -373,7 +364,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
$args = func_get_args();
|
||||
$pCell = array_pop($args);
|
||||
if (!is_object($pCell)) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
}
|
||||
|
||||
$sheetName = NULL;
|
||||
@ -386,23 +377,23 @@ class PHPExcel_Calculation_LookupRef {
|
||||
} else {
|
||||
$startCell = $endCell = $cellAddress;
|
||||
}
|
||||
list($startCellColumn,$startCellRow) = PHPExcel_Cell::coordinateFromString($startCell);
|
||||
list($endCellColumn,$endCellRow) = PHPExcel_Cell::coordinateFromString($endCell);
|
||||
list($startCellColumn,$startCellRow) = Cell::coordinateFromString($startCell);
|
||||
list($endCellColumn,$endCellRow) = Cell::coordinateFromString($endCell);
|
||||
|
||||
$startCellRow += $rows;
|
||||
$startCellColumn = PHPExcel_Cell::columnIndexFromString($startCellColumn) - 1;
|
||||
$startCellColumn = Cell::columnIndexFromString($startCellColumn) - 1;
|
||||
$startCellColumn += $columns;
|
||||
|
||||
if (($startCellRow <= 0) || ($startCellColumn < 0)) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
}
|
||||
$endCellColumn = PHPExcel_Cell::columnIndexFromString($endCellColumn) - 1;
|
||||
$endCellColumn = Cell::columnIndexFromString($endCellColumn) - 1;
|
||||
if (($width != null) && (!is_object($width))) {
|
||||
$endCellColumn = $startCellColumn + $width - 1;
|
||||
} else {
|
||||
$endCellColumn += $columns;
|
||||
}
|
||||
$startCellColumn = PHPExcel_Cell::stringFromColumnIndex($startCellColumn);
|
||||
$startCellColumn = Cell::stringFromColumnIndex($startCellColumn);
|
||||
|
||||
if (($height != null) && (!is_object($height))) {
|
||||
$endCellRow = $startCellRow + $height - 1;
|
||||
@ -411,9 +402,9 @@ class PHPExcel_Calculation_LookupRef {
|
||||
}
|
||||
|
||||
if (($endCellRow <= 0) || ($endCellColumn < 0)) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
}
|
||||
$endCellColumn = PHPExcel_Cell::stringFromColumnIndex($endCellColumn);
|
||||
$endCellColumn = Cell::stringFromColumnIndex($endCellColumn);
|
||||
|
||||
$cellAddress = $startCellColumn.$startCellRow;
|
||||
if (($startCellColumn != $endCellColumn) || ($startCellRow != $endCellRow)) {
|
||||
@ -426,7 +417,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
$pSheet = $pCell->getParent();
|
||||
}
|
||||
|
||||
return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, False);
|
||||
return Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, False);
|
||||
} // function OFFSET()
|
||||
|
||||
|
||||
@ -450,7 +441,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
*/
|
||||
public static function CHOOSE() {
|
||||
$chooseArgs = func_get_args();
|
||||
$chosenEntry = PHPExcel_Calculation_Functions::flattenArray(array_shift($chooseArgs));
|
||||
$chosenEntry = Calculation_Functions::flattenArray(array_shift($chooseArgs));
|
||||
$entryCount = count($chooseArgs) - 1;
|
||||
|
||||
if(is_array($chosenEntry)) {
|
||||
@ -459,15 +450,15 @@ class PHPExcel_Calculation_LookupRef {
|
||||
if ((is_numeric($chosenEntry)) && (!is_bool($chosenEntry))) {
|
||||
--$chosenEntry;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$chosenEntry = floor($chosenEntry);
|
||||
if (($chosenEntry <= 0) || ($chosenEntry > $entryCount)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (is_array($chooseArgs[$chosenEntry])) {
|
||||
return PHPExcel_Calculation_Functions::flattenArray($chooseArgs[$chosenEntry]);
|
||||
return Calculation_Functions::flattenArray($chooseArgs[$chosenEntry]);
|
||||
} else {
|
||||
return $chooseArgs[$chosenEntry];
|
||||
}
|
||||
@ -488,26 +479,26 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* @return integer The relative position of the found item
|
||||
*/
|
||||
public static function MATCH($lookup_value, $lookup_array, $match_type=1) {
|
||||
$lookup_array = PHPExcel_Calculation_Functions::flattenArray($lookup_array);
|
||||
$lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
$match_type = (is_null($match_type)) ? 1 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($match_type);
|
||||
$lookup_array = Calculation_Functions::flattenArray($lookup_array);
|
||||
$lookup_value = Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
$match_type = (is_null($match_type)) ? 1 : (int) Calculation_Functions::flattenSingleValue($match_type);
|
||||
// MATCH is not case sensitive
|
||||
$lookup_value = strtolower($lookup_value);
|
||||
|
||||
// lookup_value type has to be number, text, or logical values
|
||||
if ((!is_numeric($lookup_value)) && (!is_string($lookup_value)) && (!is_bool($lookup_value))) {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
|
||||
// match_type is 0, 1 or -1
|
||||
if (($match_type !== 0) && ($match_type !== -1) && ($match_type !== 1)) {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
|
||||
// lookup_array should not be empty
|
||||
$lookupArraySize = count($lookup_array);
|
||||
if ($lookupArraySize <= 0) {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
|
||||
// lookup_array should contain only number, text, or logical values, or empty (null) cells
|
||||
@ -515,7 +506,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
// check the type of the value
|
||||
if ((!is_numeric($lookupArrayValue)) && (!is_string($lookupArrayValue)) &&
|
||||
(!is_bool($lookupArrayValue)) && (!is_null($lookupArrayValue))) {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
// convert strings to lowercase for case-insensitive testing
|
||||
if (is_string($lookupArrayValue)) {
|
||||
@ -583,7 +574,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
}
|
||||
|
||||
// unsuccessful in finding a match, return #N/A error value
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
} // function MATCH()
|
||||
|
||||
|
||||
@ -603,18 +594,18 @@ class PHPExcel_Calculation_LookupRef {
|
||||
public static function INDEX($arrayValues,$rowNum = 0,$columnNum = 0) {
|
||||
|
||||
if (($rowNum < 0) || ($columnNum < 0)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (!is_array($arrayValues)) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
}
|
||||
|
||||
$rowKeys = array_keys($arrayValues);
|
||||
$columnKeys = @array_keys($arrayValues[$rowKeys[0]]);
|
||||
|
||||
if ($columnNum > count($columnKeys)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($columnNum == 0) {
|
||||
if ($rowNum == 0) {
|
||||
return $arrayValues;
|
||||
@ -636,7 +627,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
}
|
||||
$columnNum = $columnKeys[--$columnNum];
|
||||
if ($rowNum > count($rowKeys)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($rowNum == 0) {
|
||||
return $arrayValues[$columnNum];
|
||||
}
|
||||
@ -691,23 +682,23 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* @return mixed The value of the found cell
|
||||
*/
|
||||
public static function VLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match=true) {
|
||||
$lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
$index_number = PHPExcel_Calculation_Functions::flattenSingleValue($index_number);
|
||||
$not_exact_match = PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match);
|
||||
$lookup_value = Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
$index_number = Calculation_Functions::flattenSingleValue($index_number);
|
||||
$not_exact_match = Calculation_Functions::flattenSingleValue($not_exact_match);
|
||||
|
||||
// index_number must be greater than or equal to 1
|
||||
if ($index_number < 1) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
// index_number must be less than or equal to the number of columns in lookup_array
|
||||
if ((!is_array($lookup_array)) || (empty($lookup_array))) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
} else {
|
||||
$f = array_keys($lookup_array);
|
||||
$firstRow = array_pop($f);
|
||||
if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array[$firstRow]))) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
} else {
|
||||
$columnKeys = array_keys($lookup_array[$firstRow]);
|
||||
$returnColumn = $columnKeys[--$index_number];
|
||||
@ -732,7 +723,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
if ($rowNumber !== false) {
|
||||
if ((!$not_exact_match) && ($rowValue != $lookup_value)) {
|
||||
// if an exact match is required, we have what we need to return an appropriate response
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
} else {
|
||||
// otherwise return the appropriate value
|
||||
$result = $lookup_array[$rowNumber][$returnColumn];
|
||||
@ -743,7 +734,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
}
|
||||
}
|
||||
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
} // function VLOOKUP()
|
||||
|
||||
|
||||
@ -757,23 +748,23 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* @return mixed The value of the found cell
|
||||
*/
|
||||
public static function HLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match=true) {
|
||||
$lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
$index_number = PHPExcel_Calculation_Functions::flattenSingleValue($index_number);
|
||||
$not_exact_match = PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match);
|
||||
$lookup_value = Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
$index_number = Calculation_Functions::flattenSingleValue($index_number);
|
||||
$not_exact_match = Calculation_Functions::flattenSingleValue($not_exact_match);
|
||||
|
||||
// index_number must be greater than or equal to 1
|
||||
if ($index_number < 1) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
// index_number must be less than or equal to the number of columns in lookup_array
|
||||
if ((!is_array($lookup_array)) || (empty($lookup_array))) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
} else {
|
||||
$f = array_keys($lookup_array);
|
||||
$firstRow = array_pop($f);
|
||||
if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array[$firstRow]))) {
|
||||
return PHPExcel_Calculation_Functions::REF();
|
||||
return Calculation_Functions::REF();
|
||||
} else {
|
||||
$columnKeys = array_keys($lookup_array[$firstRow]);
|
||||
$firstkey = $f[0] - 1;
|
||||
@ -799,7 +790,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
if ($rowNumber !== false) {
|
||||
if ((!$not_exact_match) && ($rowValue != $lookup_value)) {
|
||||
// if an exact match is required, we have what we need to return an appropriate response
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
} else {
|
||||
// otherwise return the appropriate value
|
||||
$result = $lookup_array[$returnColumn][$rowNumber];
|
||||
@ -807,7 +798,7 @@ class PHPExcel_Calculation_LookupRef {
|
||||
}
|
||||
}
|
||||
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
} // function HLOOKUP()
|
||||
|
||||
|
||||
@ -820,10 +811,10 @@ class PHPExcel_Calculation_LookupRef {
|
||||
* @return mixed The value of the found cell
|
||||
*/
|
||||
public static function LOOKUP($lookup_value, $lookup_vector, $result_vector=null) {
|
||||
$lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
$lookup_value = Calculation_Functions::flattenSingleValue($lookup_value);
|
||||
|
||||
if (!is_array($lookup_vector)) {
|
||||
return PHPExcel_Calculation_Functions::NA();
|
||||
return Calculation_Functions::NA();
|
||||
}
|
||||
$lookupRows = count($lookup_vector);
|
||||
$l = array_keys($lookup_vector);
|
||||
@ -878,4 +869,4 @@ class PHPExcel_Calculation_LookupRef {
|
||||
return self::VLOOKUP($lookup_value,$lookup_vector,2);
|
||||
} // function LOOKUP()
|
||||
|
||||
} // class PHPExcel_Calculation_LookupRef
|
||||
}
|
||||
|
@ -19,31 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_MathTrig
|
||||
* PHPExcel\Calculation_MathTrig
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_MathTrig {
|
||||
class Calculation_MathTrig {
|
||||
|
||||
//
|
||||
// Private method to return an array of the factors of the input value
|
||||
@ -98,8 +90,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float The inverse tangent of the specified x- and y-coordinates.
|
||||
*/
|
||||
public static function ATAN2($xCoordinate = NULL, $yCoordinate = NULL) {
|
||||
$xCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($xCoordinate);
|
||||
$yCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($yCoordinate);
|
||||
$xCoordinate = Calculation_Functions::flattenSingleValue($xCoordinate);
|
||||
$yCoordinate = Calculation_Functions::flattenSingleValue($yCoordinate);
|
||||
|
||||
$xCoordinate = ($xCoordinate !== NULL) ? $xCoordinate : 0.0;
|
||||
$yCoordinate = ($yCoordinate !== NULL) ? $yCoordinate : 0.0;
|
||||
@ -110,12 +102,12 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$yCoordinate = (float) $yCoordinate;
|
||||
|
||||
if (($xCoordinate == 0) && ($yCoordinate == 0)) {
|
||||
return PHPExcel_Calculation_Functions::DIV0();
|
||||
return Calculation_Functions::DIV0();
|
||||
}
|
||||
|
||||
return atan2($yCoordinate, $xCoordinate);
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function ATAN2()
|
||||
|
||||
|
||||
@ -137,11 +129,11 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float Rounded Number
|
||||
*/
|
||||
public static function CEILING($number, $significance = NULL) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
$significance = Calculation_Functions::flattenSingleValue($significance);
|
||||
|
||||
if ((is_null($significance)) &&
|
||||
(PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) {
|
||||
(Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC)) {
|
||||
$significance = $number/abs($number);
|
||||
}
|
||||
|
||||
@ -151,10 +143,10 @@ class PHPExcel_Calculation_MathTrig {
|
||||
} elseif (self::SIGN($number) == self::SIGN($significance)) {
|
||||
return ceil($number / $significance) * $significance;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function CEILING()
|
||||
|
||||
|
||||
@ -174,18 +166,18 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int Number of combinations
|
||||
*/
|
||||
public static function COMBIN($numObjs, $numInSet) {
|
||||
$numObjs = PHPExcel_Calculation_Functions::flattenSingleValue($numObjs);
|
||||
$numInSet = PHPExcel_Calculation_Functions::flattenSingleValue($numInSet);
|
||||
$numObjs = Calculation_Functions::flattenSingleValue($numObjs);
|
||||
$numInSet = Calculation_Functions::flattenSingleValue($numInSet);
|
||||
|
||||
if ((is_numeric($numObjs)) && (is_numeric($numInSet))) {
|
||||
if ($numObjs < $numInSet) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif ($numInSet < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
return round(self::FACT($numObjs) / self::FACT($numObjs - $numInSet)) / self::FACT($numInSet);
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function COMBIN()
|
||||
|
||||
|
||||
@ -207,7 +199,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int Rounded Number
|
||||
*/
|
||||
public static function EVEN($number) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
|
||||
if (is_null($number)) {
|
||||
return 0;
|
||||
@ -219,7 +211,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$significance = 2 * self::SIGN($number);
|
||||
return (int) self::CEILING($number,$significance);
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function EVEN()
|
||||
|
||||
|
||||
@ -238,16 +230,16 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int Factorial
|
||||
*/
|
||||
public static function FACT($factVal) {
|
||||
$factVal = PHPExcel_Calculation_Functions::flattenSingleValue($factVal);
|
||||
$factVal = Calculation_Functions::flattenSingleValue($factVal);
|
||||
|
||||
if (is_numeric($factVal)) {
|
||||
if ($factVal < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$factLoop = floor($factVal);
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC) {
|
||||
if ($factVal > $factLoop) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
}
|
||||
|
||||
@ -257,7 +249,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
}
|
||||
return $factorial ;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function FACT()
|
||||
|
||||
|
||||
@ -275,12 +267,12 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int Double Factorial
|
||||
*/
|
||||
public static function FACTDOUBLE($factVal) {
|
||||
$factLoop = PHPExcel_Calculation_Functions::flattenSingleValue($factVal);
|
||||
$factLoop = Calculation_Functions::flattenSingleValue($factVal);
|
||||
|
||||
if (is_numeric($factLoop)) {
|
||||
$factLoop = floor($factLoop);
|
||||
if ($factVal < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$factorial = 1;
|
||||
while ($factLoop > 1) {
|
||||
@ -289,7 +281,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
}
|
||||
return $factorial ;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function FACTDOUBLE()
|
||||
|
||||
|
||||
@ -308,24 +300,24 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float Rounded Number
|
||||
*/
|
||||
public static function FLOOR($number, $significance = NULL) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
$significance = Calculation_Functions::flattenSingleValue($significance);
|
||||
|
||||
if ((is_null($significance)) && (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) {
|
||||
if ((is_null($significance)) && (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_GNUMERIC)) {
|
||||
$significance = $number/abs($number);
|
||||
}
|
||||
|
||||
if ((is_numeric($number)) && (is_numeric($significance))) {
|
||||
if ((float) $significance == 0.0) {
|
||||
return PHPExcel_Calculation_Functions::DIV0();
|
||||
return Calculation_Functions::DIV0();
|
||||
}
|
||||
if (self::SIGN($number) == self::SIGN($significance)) {
|
||||
return floor($number / $significance) * $significance;
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function FLOOR()
|
||||
|
||||
|
||||
@ -348,13 +340,13 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$returnValue = 1;
|
||||
$allValuesFactors = array();
|
||||
// Loop through arguments
|
||||
foreach(PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) {
|
||||
foreach(Calculation_Functions::flattenArray(func_get_args()) as $value) {
|
||||
if (!is_numeric($value)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} elseif ($value == 0) {
|
||||
continue;
|
||||
} elseif($value < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$myFactors = self::_factors($value);
|
||||
$myCountedFactors = array_count_values($myFactors);
|
||||
@ -419,7 +411,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return integer Integer value
|
||||
*/
|
||||
public static function INT($number) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
|
||||
if (is_null($number)) {
|
||||
return 0;
|
||||
@ -429,7 +421,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
if (is_numeric($number)) {
|
||||
return (int) floor($number);
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function INT()
|
||||
|
||||
|
||||
@ -453,14 +445,14 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$returnValue = 1;
|
||||
$allPoweredFactors = array();
|
||||
// Loop through arguments
|
||||
foreach(PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) {
|
||||
foreach(Calculation_Functions::flattenArray(func_get_args()) as $value) {
|
||||
if (!is_numeric($value)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
if ($value == 0) {
|
||||
return 0;
|
||||
} elseif ($value < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$myFactors = self::_factors(floor($value));
|
||||
$myCountedFactors = array_count_values($myFactors);
|
||||
@ -500,13 +492,13 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float
|
||||
*/
|
||||
public static function LOG_BASE($number = NULL, $base = 10) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$base = (is_null($base)) ? 10 : (float) PHPExcel_Calculation_Functions::flattenSingleValue($base);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
$base = (is_null($base)) ? 10 : (float) Calculation_Functions::flattenSingleValue($base);
|
||||
|
||||
if ((!is_numeric($base)) || (!is_numeric($number)))
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
if (($base <= 0) || ($number <= 0))
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
return log($number, $base);
|
||||
} // function LOG_BASE()
|
||||
|
||||
@ -534,7 +526,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$column = 0;
|
||||
foreach($matrixRow as $matrixCell) {
|
||||
if ((is_string($matrixCell)) || ($matrixCell === null)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$matrixData[$column][$row] = $matrixCell;
|
||||
++$column;
|
||||
@ -542,13 +534,13 @@ class PHPExcel_Calculation_MathTrig {
|
||||
if ($column > $maxColumn) { $maxColumn = $column; }
|
||||
++$row;
|
||||
}
|
||||
if ($row != $maxColumn) { return PHPExcel_Calculation_Functions::VALUE(); }
|
||||
if ($row != $maxColumn) { return Calculation_Functions::VALUE(); }
|
||||
|
||||
try {
|
||||
$matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData);
|
||||
$matrix = new Shared_JAMA_Matrix($matrixData);
|
||||
return $matrix->det();
|
||||
} catch (PHPExcel_Exception $ex) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
} catch (Exception $ex) {
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
} // function MDETERM()
|
||||
|
||||
@ -576,7 +568,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$column = 0;
|
||||
foreach($matrixRow as $matrixCell) {
|
||||
if ((is_string($matrixCell)) || ($matrixCell === null)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$matrixData[$column][$row] = $matrixCell;
|
||||
++$column;
|
||||
@ -584,13 +576,13 @@ class PHPExcel_Calculation_MathTrig {
|
||||
if ($column > $maxColumn) { $maxColumn = $column; }
|
||||
++$row;
|
||||
}
|
||||
if ($row != $maxColumn) { return PHPExcel_Calculation_Functions::VALUE(); }
|
||||
if ($row != $maxColumn) { return Calculation_Functions::VALUE(); }
|
||||
|
||||
try {
|
||||
$matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData);
|
||||
$matrix = new Shared_JAMA_Matrix($matrixData);
|
||||
return $matrix->inverse()->getArray();
|
||||
} catch (PHPExcel_Exception $ex) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
} catch (Exception $ex) {
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
} // function MINVERSE()
|
||||
|
||||
@ -613,7 +605,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$columnA = 0;
|
||||
foreach($matrixRow as $matrixCell) {
|
||||
if ((is_string($matrixCell)) || ($matrixCell === null)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$matrixAData[$rowA][$columnA] = $matrixCell;
|
||||
++$columnA;
|
||||
@ -621,29 +613,29 @@ class PHPExcel_Calculation_MathTrig {
|
||||
++$rowA;
|
||||
}
|
||||
try {
|
||||
$matrixA = new PHPExcel_Shared_JAMA_Matrix($matrixAData);
|
||||
$matrixA = new Shared_JAMA_Matrix($matrixAData);
|
||||
$rowB = 0;
|
||||
foreach($matrixData2 as $matrixRow) {
|
||||
if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); }
|
||||
$columnB = 0;
|
||||
foreach($matrixRow as $matrixCell) {
|
||||
if ((is_string($matrixCell)) || ($matrixCell === null)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$matrixBData[$rowB][$columnB] = $matrixCell;
|
||||
++$columnB;
|
||||
}
|
||||
++$rowB;
|
||||
}
|
||||
$matrixB = new PHPExcel_Shared_JAMA_Matrix($matrixBData);
|
||||
$matrixB = new Shared_JAMA_Matrix($matrixBData);
|
||||
|
||||
if (($rowA != $columnB) || ($rowB != $columnA)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
return $matrixA->times($matrixB)->getArray();
|
||||
} catch (PHPExcel_Exception $ex) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
} catch (Exception $ex) {
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
} // function MMULT()
|
||||
|
||||
@ -656,11 +648,11 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int Remainder
|
||||
*/
|
||||
public static function MOD($a = 1, $b = 1) {
|
||||
$a = PHPExcel_Calculation_Functions::flattenSingleValue($a);
|
||||
$b = PHPExcel_Calculation_Functions::flattenSingleValue($b);
|
||||
$a = Calculation_Functions::flattenSingleValue($a);
|
||||
$b = Calculation_Functions::flattenSingleValue($b);
|
||||
|
||||
if ($b == 0.0) {
|
||||
return PHPExcel_Calculation_Functions::DIV0();
|
||||
return Calculation_Functions::DIV0();
|
||||
} elseif (($a < 0.0) && ($b > 0.0)) {
|
||||
return $b - fmod(abs($a),$b);
|
||||
} elseif (($a > 0.0) && ($b < 0.0)) {
|
||||
@ -681,8 +673,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float Rounded Number
|
||||
*/
|
||||
public static function MROUND($number,$multiple) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$multiple = PHPExcel_Calculation_Functions::flattenSingleValue($multiple);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
$multiple = Calculation_Functions::flattenSingleValue($multiple);
|
||||
|
||||
if ((is_numeric($number)) && (is_numeric($multiple))) {
|
||||
if ($multiple == 0) {
|
||||
@ -692,9 +684,9 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$multiplier = 1 / $multiple;
|
||||
return round($number * $multiplier) / $multiplier;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function MROUND()
|
||||
|
||||
|
||||
@ -710,16 +702,16 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$summer = 0;
|
||||
$divisor = 1;
|
||||
// Loop through arguments
|
||||
foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
foreach (Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
// Is it a numeric value?
|
||||
if (is_numeric($arg)) {
|
||||
if ($arg < 1) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$summer += floor($arg);
|
||||
$divisor *= self::FACT($arg);
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
|
||||
@ -741,7 +733,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int Rounded Number
|
||||
*/
|
||||
public static function ODD($number) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
|
||||
if (is_null($number)) {
|
||||
return 1;
|
||||
@ -762,7 +754,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
|
||||
return (int) $result;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function ODD()
|
||||
|
||||
|
||||
@ -776,19 +768,19 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float
|
||||
*/
|
||||
public static function POWER($x = 0, $y = 2) {
|
||||
$x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
|
||||
$y = PHPExcel_Calculation_Functions::flattenSingleValue($y);
|
||||
$x = Calculation_Functions::flattenSingleValue($x);
|
||||
$y = Calculation_Functions::flattenSingleValue($y);
|
||||
|
||||
// Validate parameters
|
||||
if ($x == 0.0 && $y == 0.0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
} elseif ($x == 0.0 && $y < 0.0) {
|
||||
return PHPExcel_Calculation_Functions::DIV0();
|
||||
return Calculation_Functions::DIV0();
|
||||
}
|
||||
|
||||
// Return
|
||||
$result = pow($x, $y);
|
||||
return (!is_nan($result) && !is_infinite($result)) ? $result : PHPExcel_Calculation_Functions::NaN();
|
||||
return (!is_nan($result) && !is_infinite($result)) ? $result : Calculation_Functions::NaN();
|
||||
} // function POWER()
|
||||
|
||||
|
||||
@ -810,7 +802,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$returnValue = null;
|
||||
|
||||
// Loop through arguments
|
||||
foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
foreach (Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
// Is it a numeric value?
|
||||
if ((is_numeric($arg)) && (!is_string($arg))) {
|
||||
if (is_null($returnValue)) {
|
||||
@ -848,7 +840,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$returnValue = null;
|
||||
|
||||
// Loop through arguments
|
||||
foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
foreach (Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
// Is it a numeric value?
|
||||
if ((is_numeric($arg)) && (!is_string($arg))) {
|
||||
if (is_null($returnValue)) {
|
||||
@ -876,8 +868,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int Random number
|
||||
*/
|
||||
public static function RAND($min = 0, $max = 0) {
|
||||
$min = PHPExcel_Calculation_Functions::flattenSingleValue($min);
|
||||
$max = PHPExcel_Calculation_Functions::flattenSingleValue($max);
|
||||
$min = Calculation_Functions::flattenSingleValue($min);
|
||||
$max = Calculation_Functions::flattenSingleValue($max);
|
||||
|
||||
if ($min == 0 && $max == 0) {
|
||||
return (rand(0,10000000)) / 10000000;
|
||||
@ -888,10 +880,10 @@ class PHPExcel_Calculation_MathTrig {
|
||||
|
||||
|
||||
public static function ROMAN($aValue, $style=0) {
|
||||
$aValue = PHPExcel_Calculation_Functions::flattenSingleValue($aValue);
|
||||
$style = (is_null($style)) ? 0 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($style);
|
||||
$aValue = Calculation_Functions::flattenSingleValue($aValue);
|
||||
$style = (is_null($style)) ? 0 : (integer) Calculation_Functions::flattenSingleValue($style);
|
||||
if ((!is_numeric($aValue)) || ($aValue < 0) || ($aValue >= 4000)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
$aValue = (integer) $aValue;
|
||||
if ($aValue == 0) {
|
||||
@ -926,8 +918,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float Rounded Number
|
||||
*/
|
||||
public static function ROUNDUP($number,$digits) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
$digits = Calculation_Functions::flattenSingleValue($digits);
|
||||
|
||||
if ((is_numeric($number)) && (is_numeric($digits))) {
|
||||
$significance = pow(10,(int) $digits);
|
||||
@ -937,7 +929,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
return ceil($number * $significance) / $significance;
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function ROUNDUP()
|
||||
|
||||
|
||||
@ -951,8 +943,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float Rounded Number
|
||||
*/
|
||||
public static function ROUNDDOWN($number,$digits) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
$digits = Calculation_Functions::flattenSingleValue($digits);
|
||||
|
||||
if ((is_numeric($number)) && (is_numeric($digits))) {
|
||||
$significance = pow(10,(int) $digits);
|
||||
@ -962,7 +954,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
return floor($number * $significance) / $significance;
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function ROUNDDOWN()
|
||||
|
||||
|
||||
@ -982,7 +974,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$returnValue = 0;
|
||||
|
||||
// Loop through arguments
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$aArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
|
||||
$x = array_shift($aArgs);
|
||||
$n = array_shift($aArgs);
|
||||
@ -996,13 +988,13 @@ class PHPExcel_Calculation_MathTrig {
|
||||
if ((is_numeric($arg)) && (!is_string($arg))) {
|
||||
$returnValue += $arg * pow($x,$n + ($m * $i++));
|
||||
} else {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
}
|
||||
// Return
|
||||
return $returnValue;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function SERIESSUM()
|
||||
|
||||
|
||||
@ -1016,7 +1008,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return int sign value
|
||||
*/
|
||||
public static function SIGN($number) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
|
||||
if (is_bool($number))
|
||||
return (int) $number;
|
||||
@ -1026,7 +1018,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
}
|
||||
return $number / abs($number);
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function SIGN()
|
||||
|
||||
|
||||
@ -1039,15 +1031,15 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float Square Root of Number * Pi
|
||||
*/
|
||||
public static function SQRTPI($number) {
|
||||
$number = PHPExcel_Calculation_Functions::flattenSingleValue($number);
|
||||
$number = Calculation_Functions::flattenSingleValue($number);
|
||||
|
||||
if (is_numeric($number)) {
|
||||
if ($number < 0) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
return sqrt($number * M_PI) ;
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function SQRTPI()
|
||||
|
||||
|
||||
@ -1062,7 +1054,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float
|
||||
*/
|
||||
public static function SUBTOTAL() {
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$aArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
|
||||
// Calculate
|
||||
$subtotal = array_shift($aArgs);
|
||||
@ -1070,41 +1062,41 @@ class PHPExcel_Calculation_MathTrig {
|
||||
if ((is_numeric($subtotal)) && (!is_string($subtotal))) {
|
||||
switch($subtotal) {
|
||||
case 1 :
|
||||
return PHPExcel_Calculation_Statistical::AVERAGE($aArgs);
|
||||
return Calculation_Statistical::AVERAGE($aArgs);
|
||||
break;
|
||||
case 2 :
|
||||
return PHPExcel_Calculation_Statistical::COUNT($aArgs);
|
||||
return Calculation_Statistical::COUNT($aArgs);
|
||||
break;
|
||||
case 3 :
|
||||
return PHPExcel_Calculation_Statistical::COUNTA($aArgs);
|
||||
return Calculation_Statistical::COUNTA($aArgs);
|
||||
break;
|
||||
case 4 :
|
||||
return PHPExcel_Calculation_Statistical::MAX($aArgs);
|
||||
return Calculation_Statistical::MAX($aArgs);
|
||||
break;
|
||||
case 5 :
|
||||
return PHPExcel_Calculation_Statistical::MIN($aArgs);
|
||||
return Calculation_Statistical::MIN($aArgs);
|
||||
break;
|
||||
case 6 :
|
||||
return self::PRODUCT($aArgs);
|
||||
break;
|
||||
case 7 :
|
||||
return PHPExcel_Calculation_Statistical::STDEV($aArgs);
|
||||
return Calculation_Statistical::STDEV($aArgs);
|
||||
break;
|
||||
case 8 :
|
||||
return PHPExcel_Calculation_Statistical::STDEVP($aArgs);
|
||||
return Calculation_Statistical::STDEVP($aArgs);
|
||||
break;
|
||||
case 9 :
|
||||
return self::SUM($aArgs);
|
||||
break;
|
||||
case 10 :
|
||||
return PHPExcel_Calculation_Statistical::VARFunc($aArgs);
|
||||
return Calculation_Statistical::VARFunc($aArgs);
|
||||
break;
|
||||
case 11 :
|
||||
return PHPExcel_Calculation_Statistical::VARP($aArgs);
|
||||
return Calculation_Statistical::VARP($aArgs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function SUBTOTAL()
|
||||
|
||||
|
||||
@ -1126,7 +1118,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$returnValue = 0;
|
||||
|
||||
// Loop through the arguments
|
||||
foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
foreach (Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
// Is it a numeric value?
|
||||
if ((is_numeric($arg)) && (!is_string($arg))) {
|
||||
$returnValue += $arg;
|
||||
@ -1156,17 +1148,17 @@ class PHPExcel_Calculation_MathTrig {
|
||||
// Return value
|
||||
$returnValue = 0;
|
||||
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs);
|
||||
$sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs);
|
||||
$aArgs = Calculation_Functions::flattenArray($aArgs);
|
||||
$sumArgs = Calculation_Functions::flattenArray($sumArgs);
|
||||
if (empty($sumArgs)) {
|
||||
$sumArgs = $aArgs;
|
||||
}
|
||||
$condition = PHPExcel_Calculation_Functions::_ifCondition($condition);
|
||||
$condition = Calculation_Functions::_ifCondition($condition);
|
||||
// Loop through arguments
|
||||
foreach ($aArgs as $key => $arg) {
|
||||
if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); }
|
||||
if (!is_numeric($arg)) { $arg = Calculation::_wrapResult(strtoupper($arg)); }
|
||||
$testCondition = '='.$arg.$condition;
|
||||
if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) {
|
||||
if (Calculation::getInstance()->_calculateFormulaValue($testCondition)) {
|
||||
// Is it a value within our criteria
|
||||
$returnValue += $sumArgs[$key];
|
||||
}
|
||||
@ -1191,7 +1183,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
public static function SUMPRODUCT() {
|
||||
$arrayList = func_get_args();
|
||||
|
||||
$wrkArray = PHPExcel_Calculation_Functions::flattenArray(array_shift($arrayList));
|
||||
$wrkArray = Calculation_Functions::flattenArray(array_shift($arrayList));
|
||||
$wrkCellCount = count($wrkArray);
|
||||
|
||||
for ($i=0; $i< $wrkCellCount; ++$i) {
|
||||
@ -1201,10 +1193,10 @@ class PHPExcel_Calculation_MathTrig {
|
||||
}
|
||||
|
||||
foreach($arrayList as $matrixData) {
|
||||
$array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData);
|
||||
$array2 = Calculation_Functions::flattenArray($matrixData);
|
||||
$count = count($array2);
|
||||
if ($wrkCellCount != $count) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
foreach ($array2 as $i => $val) {
|
||||
@ -1237,7 +1229,7 @@ class PHPExcel_Calculation_MathTrig {
|
||||
$returnValue = 0;
|
||||
|
||||
// Loop through arguments
|
||||
foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
foreach (Calculation_Functions::flattenArray(func_get_args()) as $arg) {
|
||||
// Is it a numeric value?
|
||||
if ((is_numeric($arg)) && (!is_string($arg))) {
|
||||
$returnValue += ($arg * $arg);
|
||||
@ -1257,8 +1249,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float
|
||||
*/
|
||||
public static function SUMX2MY2($matrixData1,$matrixData2) {
|
||||
$array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1);
|
||||
$array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2);
|
||||
$array1 = Calculation_Functions::flattenArray($matrixData1);
|
||||
$array2 = Calculation_Functions::flattenArray($matrixData2);
|
||||
$count1 = count($array1);
|
||||
$count2 = count($array2);
|
||||
if ($count1 < $count2) {
|
||||
@ -1287,8 +1279,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float
|
||||
*/
|
||||
public static function SUMX2PY2($matrixData1,$matrixData2) {
|
||||
$array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1);
|
||||
$array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2);
|
||||
$array1 = Calculation_Functions::flattenArray($matrixData1);
|
||||
$array2 = Calculation_Functions::flattenArray($matrixData2);
|
||||
$count1 = count($array1);
|
||||
$count2 = count($array2);
|
||||
if ($count1 < $count2) {
|
||||
@ -1317,8 +1309,8 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float
|
||||
*/
|
||||
public static function SUMXMY2($matrixData1,$matrixData2) {
|
||||
$array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1);
|
||||
$array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2);
|
||||
$array1 = Calculation_Functions::flattenArray($matrixData1);
|
||||
$array2 = Calculation_Functions::flattenArray($matrixData2);
|
||||
$count1 = count($array1);
|
||||
$count2 = count($array2);
|
||||
if ($count1 < $count2) {
|
||||
@ -1349,12 +1341,12 @@ class PHPExcel_Calculation_MathTrig {
|
||||
* @return float Truncated value
|
||||
*/
|
||||
public static function TRUNC($value = 0, $digits = 0) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$digits = Calculation_Functions::flattenSingleValue($digits);
|
||||
|
||||
// Validate parameters
|
||||
if ((!is_numeric($value)) || (!is_numeric($digits)))
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
$digits = floor($digits);
|
||||
|
||||
// Truncate
|
||||
@ -1366,4 +1358,4 @@ class PHPExcel_Calculation_MathTrig {
|
||||
return (intval($value * $adjust)) / $adjust;
|
||||
} // function TRUNC()
|
||||
|
||||
} // class PHPExcel_Calculation_MathTrig
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,31 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_TextData
|
||||
* PHPExcel\Calculation_TextData
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_TextData {
|
||||
class Calculation_TextData {
|
||||
|
||||
private static $_invalidChars = Null;
|
||||
|
||||
@ -61,7 +53,7 @@ class PHPExcel_Calculation_TextData {
|
||||
if (ord($c{0}) >= 252 && ord($c{0}) <= 253)
|
||||
return (ord($c{0})-252)*1073741824 + (ord($c{1})-128)*16777216 + (ord($c{2})-128)*262144 + (ord($c{3})-128)*4096 + (ord($c{4})-128)*64 + (ord($c{5})-128);
|
||||
if (ord($c{0}) >= 254 && ord($c{0}) <= 255) //error
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
return 0;
|
||||
} // function _uniord()
|
||||
|
||||
@ -72,10 +64,10 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return int
|
||||
*/
|
||||
public static function CHARACTER($character) {
|
||||
$character = PHPExcel_Calculation_Functions::flattenSingleValue($character);
|
||||
$character = Calculation_Functions::flattenSingleValue($character);
|
||||
|
||||
if ((!is_numeric($character)) || ($character < 0)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (function_exists('mb_convert_encoding')) {
|
||||
@ -93,10 +85,10 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function TRIMNONPRINTABLE($stringValue = '') {
|
||||
$stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue);
|
||||
$stringValue = Calculation_Functions::flattenSingleValue($stringValue);
|
||||
|
||||
if (is_bool($stringValue)) {
|
||||
return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
return ($stringValue) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if (self::$_invalidChars == Null) {
|
||||
@ -117,10 +109,10 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function TRIMSPACES($stringValue = '') {
|
||||
$stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue);
|
||||
$stringValue = Calculation_Functions::flattenSingleValue($stringValue);
|
||||
|
||||
if (is_bool($stringValue)) {
|
||||
return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
return ($stringValue) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if (is_string($stringValue) || is_numeric($stringValue)) {
|
||||
@ -138,13 +130,13 @@ class PHPExcel_Calculation_TextData {
|
||||
*/
|
||||
public static function ASCIICODE($characters) {
|
||||
if (($characters === NULL) || ($characters === ''))
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
$characters = PHPExcel_Calculation_Functions::flattenSingleValue($characters);
|
||||
return Calculation_Functions::VALUE();
|
||||
$characters = Calculation_Functions::flattenSingleValue($characters);
|
||||
if (is_bool($characters)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$characters = (int) $characters;
|
||||
} else {
|
||||
$characters = ($characters) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$characters = ($characters) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
}
|
||||
|
||||
@ -169,13 +161,13 @@ class PHPExcel_Calculation_TextData {
|
||||
$returnValue = '';
|
||||
|
||||
// Loop through arguments
|
||||
$aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
|
||||
$aArgs = Calculation_Functions::flattenArray(func_get_args());
|
||||
foreach ($aArgs as $arg) {
|
||||
if (is_bool($arg)) {
|
||||
if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
if (Calculation_Functions::getCompatibilityMode() == Calculation_Functions::COMPATIBILITY_OPENOFFICE) {
|
||||
$arg = (int) $arg;
|
||||
} else {
|
||||
$arg = ($arg) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$arg = ($arg) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
}
|
||||
$returnValue .= $arg;
|
||||
@ -199,12 +191,12 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function DOLLAR($value = 0, $decimals = 2) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$decimals = is_null($decimals) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($decimals);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$decimals = is_null($decimals) ? 0 : Calculation_Functions::flattenSingleValue($decimals);
|
||||
|
||||
// Validate parameters
|
||||
if (!is_numeric($value) || !is_numeric($decimals)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$decimals = floor($decimals);
|
||||
|
||||
@ -214,10 +206,10 @@ class PHPExcel_Calculation_TextData {
|
||||
} else {
|
||||
$round = pow(10,abs($decimals));
|
||||
if ($value < 0) { $round = 0-$round; }
|
||||
$value = PHPExcel_Calculation_MathTrig::MROUND($value, $round);
|
||||
$value = Calculation_MathTrig::MROUND($value, $round);
|
||||
}
|
||||
|
||||
return PHPExcel_Style_NumberFormat::toFormattedString($value, $mask);
|
||||
return Style_NumberFormat::toFormattedString($value, $mask);
|
||||
|
||||
} // function DOLLAR()
|
||||
|
||||
@ -231,17 +223,17 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function SEARCHSENSITIVE($needle,$haystack,$offset=1) {
|
||||
$needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle);
|
||||
$haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack);
|
||||
$offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset);
|
||||
$needle = Calculation_Functions::flattenSingleValue($needle);
|
||||
$haystack = Calculation_Functions::flattenSingleValue($haystack);
|
||||
$offset = Calculation_Functions::flattenSingleValue($offset);
|
||||
|
||||
if (!is_bool($needle)) {
|
||||
if (is_bool($haystack)) {
|
||||
$haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$haystack = ($haystack) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) {
|
||||
if (PHPExcel_Shared_String::CountCharacters($needle) == 0) {
|
||||
if (($offset > 0) && (Shared_String::CountCharacters($haystack) > $offset)) {
|
||||
if (Shared_String::CountCharacters($needle) == 0) {
|
||||
return $offset;
|
||||
}
|
||||
if (function_exists('mb_strpos')) {
|
||||
@ -254,7 +246,7 @@ class PHPExcel_Calculation_TextData {
|
||||
}
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function SEARCHSENSITIVE()
|
||||
|
||||
|
||||
@ -267,17 +259,17 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function SEARCHINSENSITIVE($needle,$haystack,$offset=1) {
|
||||
$needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle);
|
||||
$haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack);
|
||||
$offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset);
|
||||
$needle = Calculation_Functions::flattenSingleValue($needle);
|
||||
$haystack = Calculation_Functions::flattenSingleValue($haystack);
|
||||
$offset = Calculation_Functions::flattenSingleValue($offset);
|
||||
|
||||
if (!is_bool($needle)) {
|
||||
if (is_bool($haystack)) {
|
||||
$haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$haystack = ($haystack) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) {
|
||||
if (PHPExcel_Shared_String::CountCharacters($needle) == 0) {
|
||||
if (($offset > 0) && (Shared_String::CountCharacters($haystack) > $offset)) {
|
||||
if (Shared_String::CountCharacters($needle) == 0) {
|
||||
return $offset;
|
||||
}
|
||||
if (function_exists('mb_stripos')) {
|
||||
@ -290,7 +282,7 @@ class PHPExcel_Calculation_TextData {
|
||||
}
|
||||
}
|
||||
}
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
} // function SEARCHINSENSITIVE()
|
||||
|
||||
|
||||
@ -303,13 +295,13 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return boolean
|
||||
*/
|
||||
public static function FIXEDFORMAT($value, $decimals = 2, $no_commas = FALSE) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$decimals = PHPExcel_Calculation_Functions::flattenSingleValue($decimals);
|
||||
$no_commas = PHPExcel_Calculation_Functions::flattenSingleValue($no_commas);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$decimals = Calculation_Functions::flattenSingleValue($decimals);
|
||||
$no_commas = Calculation_Functions::flattenSingleValue($no_commas);
|
||||
|
||||
// Validate parameters
|
||||
if (!is_numeric($value) || !is_numeric($decimals)) {
|
||||
return PHPExcel_Calculation_Functions::NaN();
|
||||
return Calculation_Functions::NaN();
|
||||
}
|
||||
$decimals = floor($decimals);
|
||||
|
||||
@ -331,15 +323,15 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function LEFT($value = '', $chars = 1) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$chars = Calculation_Functions::flattenSingleValue($chars);
|
||||
|
||||
if ($chars < 0) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (is_bool($value)) {
|
||||
$value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if (function_exists('mb_substr')) {
|
||||
@ -359,16 +351,16 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function MID($value = '', $start = 1, $chars = null) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$start = PHPExcel_Calculation_Functions::flattenSingleValue($start);
|
||||
$chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$start = Calculation_Functions::flattenSingleValue($start);
|
||||
$chars = Calculation_Functions::flattenSingleValue($chars);
|
||||
|
||||
if (($start < 1) || ($chars < 0)) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (is_bool($value)) {
|
||||
$value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if (function_exists('mb_substr')) {
|
||||
@ -387,15 +379,15 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function RIGHT($value = '', $chars = 1) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$chars = Calculation_Functions::flattenSingleValue($chars);
|
||||
|
||||
if ($chars < 0) {
|
||||
return PHPExcel_Calculation_Functions::VALUE();
|
||||
return Calculation_Functions::VALUE();
|
||||
}
|
||||
|
||||
if (is_bool($value)) {
|
||||
$value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if ((function_exists('mb_substr')) && (function_exists('mb_strlen'))) {
|
||||
@ -413,10 +405,10 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function STRINGLENGTH($value = '') {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
|
||||
if (is_bool($value)) {
|
||||
$value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
if (function_exists('mb_strlen')) {
|
||||
@ -436,13 +428,13 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function LOWERCASE($mixedCaseString) {
|
||||
$mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString);
|
||||
$mixedCaseString = Calculation_Functions::flattenSingleValue($mixedCaseString);
|
||||
|
||||
if (is_bool($mixedCaseString)) {
|
||||
$mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$mixedCaseString = ($mixedCaseString) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
return PHPExcel_Shared_String::StrToLower($mixedCaseString);
|
||||
return Shared_String::StrToLower($mixedCaseString);
|
||||
} // function LOWERCASE()
|
||||
|
||||
|
||||
@ -455,13 +447,13 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function UPPERCASE($mixedCaseString) {
|
||||
$mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString);
|
||||
$mixedCaseString = Calculation_Functions::flattenSingleValue($mixedCaseString);
|
||||
|
||||
if (is_bool($mixedCaseString)) {
|
||||
$mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$mixedCaseString = ($mixedCaseString) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
return PHPExcel_Shared_String::StrToUpper($mixedCaseString);
|
||||
return Shared_String::StrToUpper($mixedCaseString);
|
||||
} // function UPPERCASE()
|
||||
|
||||
|
||||
@ -474,13 +466,13 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function PROPERCASE($mixedCaseString) {
|
||||
$mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString);
|
||||
$mixedCaseString = Calculation_Functions::flattenSingleValue($mixedCaseString);
|
||||
|
||||
if (is_bool($mixedCaseString)) {
|
||||
$mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE();
|
||||
$mixedCaseString = ($mixedCaseString) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||
}
|
||||
|
||||
return PHPExcel_Shared_String::StrToTitle($mixedCaseString);
|
||||
return Shared_String::StrToTitle($mixedCaseString);
|
||||
} // function PROPERCASE()
|
||||
|
||||
|
||||
@ -494,10 +486,10 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function REPLACE($oldText = '', $start = 1, $chars = null, $newText) {
|
||||
$oldText = PHPExcel_Calculation_Functions::flattenSingleValue($oldText);
|
||||
$start = PHPExcel_Calculation_Functions::flattenSingleValue($start);
|
||||
$chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars);
|
||||
$newText = PHPExcel_Calculation_Functions::flattenSingleValue($newText);
|
||||
$oldText = Calculation_Functions::flattenSingleValue($oldText);
|
||||
$start = Calculation_Functions::flattenSingleValue($start);
|
||||
$chars = Calculation_Functions::flattenSingleValue($chars);
|
||||
$newText = Calculation_Functions::flattenSingleValue($newText);
|
||||
|
||||
$left = self::LEFT($oldText,$start-1);
|
||||
$right = self::RIGHT($oldText,self::STRINGLENGTH($oldText)-($start+$chars)+1);
|
||||
@ -516,10 +508,10 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return string
|
||||
*/
|
||||
public static function SUBSTITUTE($text = '', $fromText = '', $toText = '', $instance = 0) {
|
||||
$text = PHPExcel_Calculation_Functions::flattenSingleValue($text);
|
||||
$fromText = PHPExcel_Calculation_Functions::flattenSingleValue($fromText);
|
||||
$toText = PHPExcel_Calculation_Functions::flattenSingleValue($toText);
|
||||
$instance = floor(PHPExcel_Calculation_Functions::flattenSingleValue($instance));
|
||||
$text = Calculation_Functions::flattenSingleValue($text);
|
||||
$fromText = Calculation_Functions::flattenSingleValue($fromText);
|
||||
$toText = Calculation_Functions::flattenSingleValue($toText);
|
||||
$instance = floor(Calculation_Functions::flattenSingleValue($instance));
|
||||
|
||||
if ($instance == 0) {
|
||||
if(function_exists('mb_str_replace')) {
|
||||
@ -560,7 +552,7 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return boolean
|
||||
*/
|
||||
public static function RETURNSTRING($testValue = '') {
|
||||
$testValue = PHPExcel_Calculation_Functions::flattenSingleValue($testValue);
|
||||
$testValue = Calculation_Functions::flattenSingleValue($testValue);
|
||||
|
||||
if (is_string($testValue)) {
|
||||
return $testValue;
|
||||
@ -577,14 +569,14 @@ class PHPExcel_Calculation_TextData {
|
||||
* @return boolean
|
||||
*/
|
||||
public static function TEXTFORMAT($value,$format) {
|
||||
$value = PHPExcel_Calculation_Functions::flattenSingleValue($value);
|
||||
$format = PHPExcel_Calculation_Functions::flattenSingleValue($format);
|
||||
$value = Calculation_Functions::flattenSingleValue($value);
|
||||
$format = Calculation_Functions::flattenSingleValue($format);
|
||||
|
||||
if ((is_string($value)) && (!is_numeric($value)) && PHPExcel_Shared_Date::isDateTimeFormatCode($format)) {
|
||||
$value = PHPExcel_Calculation_DateTime::DATEVALUE($value);
|
||||
if ((is_string($value)) && (!is_numeric($value)) && Shared_Date::isDateTimeFormatCode($format)) {
|
||||
$value = Calculation_DateTime::DATEVALUE($value);
|
||||
}
|
||||
|
||||
return (string) PHPExcel_Style_NumberFormat::toFormattedString($value,$format);
|
||||
return (string) Style_NumberFormat::toFormattedString($value,$format);
|
||||
} // function TEXTFORMAT()
|
||||
|
||||
} // class PHPExcel_Calculation_TextData
|
||||
}
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Calculation
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Calculation_Token_Stack
|
||||
* PHPExcel\Calculation_Token_Stack
|
||||
*
|
||||
* @category PHPExcel_Calculation_Token_Stack
|
||||
* @package PHPExcel_Calculation
|
||||
* @category PHPExcel\Calculation_Token_Stack
|
||||
* @package PHPExcel\Calculation
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Calculation_Token_Stack {
|
||||
class Calculation_Token_Stack {
|
||||
|
||||
/**
|
||||
* The parser stack for formulae
|
||||
@ -72,7 +74,7 @@ class PHPExcel_Calculation_Token_Stack {
|
||||
'reference' => $reference
|
||||
);
|
||||
if ($type == 'Function') {
|
||||
$localeFunction = PHPExcel_Calculation::_localeFunc($value);
|
||||
$localeFunction = Calculation::_localeFunc($value);
|
||||
if ($localeFunction != $value) {
|
||||
$this->_stack[($this->_count - 1)]['localeValue'] = $localeFunction;
|
||||
}
|
||||
@ -112,4 +114,4 @@ class PHPExcel_Calculation_Token_Stack {
|
||||
$this->_count = 0;
|
||||
}
|
||||
|
||||
} // class PHPExcel_Calculation_Token_Stack
|
||||
}
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Cell
|
||||
* PHPExcel\Cell
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Cell
|
||||
class Cell
|
||||
{
|
||||
|
||||
/**
|
||||
@ -46,7 +48,7 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Value binder to use
|
||||
*
|
||||
* @var PHPExcel_Cell_IValueBinder
|
||||
* @var PHPExcel\Cell_IValueBinder
|
||||
*/
|
||||
private static $_valueBinder = NULL;
|
||||
|
||||
@ -79,7 +81,7 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Parent worksheet
|
||||
*
|
||||
* @var PHPExcel_CachedObjectStorage_CacheBase
|
||||
* @var PHPExcel\CachedObjectStorage_CacheBase
|
||||
*/
|
||||
private $_parent;
|
||||
|
||||
@ -112,7 +114,7 @@ class PHPExcel_Cell
|
||||
$this->_parent = NULL;
|
||||
}
|
||||
|
||||
public function attach(PHPExcel_CachedObjectStorage_CacheBase $parent) {
|
||||
public function attach(CachedObjectStorage_CacheBase $parent) {
|
||||
|
||||
|
||||
$this->_parent = $parent;
|
||||
@ -124,10 +126,10 @@ class PHPExcel_Cell
|
||||
*
|
||||
* @param mixed $pValue
|
||||
* @param string $pDataType
|
||||
* @param PHPExcel_Worksheet $pSheet
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Worksheet $pSheet
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function __construct($pValue = NULL, $pDataType = NULL, PHPExcel_Worksheet $pSheet = NULL)
|
||||
public function __construct($pValue = NULL, $pDataType = NULL, Worksheet $pSheet = NULL)
|
||||
{
|
||||
// Initialise cell value
|
||||
$this->_value = $pValue;
|
||||
@ -137,12 +139,12 @@ class PHPExcel_Cell
|
||||
|
||||
// Set datatype?
|
||||
if ($pDataType !== NULL) {
|
||||
if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2)
|
||||
$pDataType = PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
if ($pDataType == Cell_DataType::TYPE_STRING2)
|
||||
$pDataType = Cell_DataType::TYPE_STRING;
|
||||
$this->_dataType = $pDataType;
|
||||
} else {
|
||||
if (!self::getValueBinder()->bindValue($this, $pValue)) {
|
||||
throw new PHPExcel_Exception("Value could not be bound to cell.");
|
||||
throw new Exception("Value could not be bound to cell.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -197,7 +199,7 @@ class PHPExcel_Cell
|
||||
*/
|
||||
public function getFormattedValue()
|
||||
{
|
||||
return (string) PHPExcel_Style_NumberFormat::toFormattedString(
|
||||
return (string) Style_NumberFormat::toFormattedString(
|
||||
$this->getCalculatedValue(),
|
||||
$this->getWorksheet()->getParent()->getCellXfByIndex($this->getXfIndex())
|
||||
->getNumberFormat()->getFormatCode()
|
||||
@ -210,13 +212,13 @@ class PHPExcel_Cell
|
||||
* Sets the value for a cell, automatically determining the datatype using the value binder
|
||||
*
|
||||
* @param mixed $pValue Value
|
||||
* @return PHPExcel_Cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel\Cell
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function setValue($pValue = NULL)
|
||||
{
|
||||
if (!self::getValueBinder()->bindValue($this, $pValue)) {
|
||||
throw new PHPExcel_Exception("Value could not be bound to cell.");
|
||||
throw new Exception("Value could not be bound to cell.");
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
@ -226,34 +228,34 @@ class PHPExcel_Cell
|
||||
*
|
||||
* @param mixed $pValue Value
|
||||
* @param string $pDataType Explicit data type
|
||||
* @return PHPExcel_Cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel\Cell
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function setValueExplicit($pValue = NULL, $pDataType = PHPExcel_Cell_DataType::TYPE_STRING)
|
||||
public function setValueExplicit($pValue = NULL, $pDataType = Cell_DataType::TYPE_STRING)
|
||||
{
|
||||
// set the value according to data type
|
||||
switch ($pDataType) {
|
||||
case PHPExcel_Cell_DataType::TYPE_STRING2:
|
||||
$pDataType = PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
case PHPExcel_Cell_DataType::TYPE_STRING:
|
||||
case PHPExcel_Cell_DataType::TYPE_NULL:
|
||||
case PHPExcel_Cell_DataType::TYPE_INLINE:
|
||||
$this->_value = PHPExcel_Cell_DataType::checkString($pValue);
|
||||
case Cell_DataType::TYPE_STRING2:
|
||||
$pDataType = Cell_DataType::TYPE_STRING;
|
||||
case Cell_DataType::TYPE_STRING:
|
||||
case Cell_DataType::TYPE_NULL:
|
||||
case Cell_DataType::TYPE_INLINE:
|
||||
$this->_value = Cell_DataType::checkString($pValue);
|
||||
break;
|
||||
case PHPExcel_Cell_DataType::TYPE_NUMERIC:
|
||||
case Cell_DataType::TYPE_NUMERIC:
|
||||
$this->_value = (float)$pValue;
|
||||
break;
|
||||
case PHPExcel_Cell_DataType::TYPE_FORMULA:
|
||||
case Cell_DataType::TYPE_FORMULA:
|
||||
$this->_value = (string)$pValue;
|
||||
break;
|
||||
case PHPExcel_Cell_DataType::TYPE_BOOL:
|
||||
case Cell_DataType::TYPE_BOOL:
|
||||
$this->_value = (bool)$pValue;
|
||||
break;
|
||||
case PHPExcel_Cell_DataType::TYPE_ERROR:
|
||||
$this->_value = PHPExcel_Cell_DataType::checkErrorCode($pValue);
|
||||
case Cell_DataType::TYPE_ERROR:
|
||||
$this->_value = Cell_DataType::checkErrorCode($pValue);
|
||||
break;
|
||||
default:
|
||||
throw new PHPExcel_Exception('Invalid datatype: ' . $pDataType);
|
||||
throw new Exception('Invalid datatype: ' . $pDataType);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -270,15 +272,15 @@ class PHPExcel_Cell
|
||||
*
|
||||
* @param boolean $resetLog Whether the calculation engine logger should be reset or not
|
||||
* @return mixed
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function getCalculatedValue($resetLog = TRUE)
|
||||
{
|
||||
//echo 'Cell '.$this->getCoordinate().' value is a '.$this->_dataType.' with a value of '.$this->getValue().PHP_EOL;
|
||||
if ($this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA) {
|
||||
if ($this->_dataType == Cell_DataType::TYPE_FORMULA) {
|
||||
try {
|
||||
//echo 'Cell value for '.$this->getCoordinate().' is a formula: Calculating value'.PHP_EOL;
|
||||
$result = PHPExcel_Calculation::getInstance(
|
||||
$result = Calculation::getInstance(
|
||||
$this->getWorksheet()->getParent()
|
||||
)->calculateCellValue($this,$resetLog);
|
||||
//echo $this->getCoordinate().' calculation result is '.$result.PHP_EOL;
|
||||
@ -288,14 +290,14 @@ class PHPExcel_Cell
|
||||
$result = array_pop($result);
|
||||
}
|
||||
}
|
||||
} catch ( PHPExcel_Exception $ex ) {
|
||||
} catch ( Exception $ex ) {
|
||||
if (($ex->getMessage() === 'Unable to access External Workbook') && ($this->_calculatedValue !== NULL)) {
|
||||
//echo 'Returning fallback value of '.$this->_calculatedValue.' for cell '.$this->getCoordinate().PHP_EOL;
|
||||
return $this->_calculatedValue; // Fallback for calculations referencing external files.
|
||||
}
|
||||
//echo 'Calculation Exception: '.$ex->getMessage().PHP_EOL;
|
||||
$result = '#N/A';
|
||||
throw new PHPExcel_Calculation_Exception(
|
||||
throw new Calculation_Exception(
|
||||
$this->getWorksheet()->getTitle().'!'.$this->getCoordinate().' -> '.$ex->getMessage()
|
||||
);
|
||||
}
|
||||
@ -306,7 +308,7 @@ class PHPExcel_Cell
|
||||
}
|
||||
//echo 'Returning calculated value of '.$result.' for cell '.$this->getCoordinate().PHP_EOL;
|
||||
return $result;
|
||||
} elseif($this->_value instanceof PHPExcel_RichText) {
|
||||
} elseif($this->_value instanceof RichText) {
|
||||
// echo 'Cell value for '.$this->getCoordinate().' is rich text: Returning data value of '.$this->_value.'<br />';
|
||||
return $this->_value->getPlainText();
|
||||
}
|
||||
@ -318,7 +320,7 @@ class PHPExcel_Cell
|
||||
* Set old calculated value (cached)
|
||||
*
|
||||
* @param mixed $pValue Value
|
||||
* @return PHPExcel_Cell
|
||||
* @return PHPExcel\Cell
|
||||
*/
|
||||
public function setCalculatedValue($pValue = NULL)
|
||||
{
|
||||
@ -358,12 +360,12 @@ class PHPExcel_Cell
|
||||
* Set cell data type
|
||||
*
|
||||
* @param string $pDataType
|
||||
* @return PHPExcel_Cell
|
||||
* @return PHPExcel\Cell
|
||||
*/
|
||||
public function setDataType($pDataType = PHPExcel_Cell_DataType::TYPE_STRING)
|
||||
public function setDataType($pDataType = Cell_DataType::TYPE_STRING)
|
||||
{
|
||||
if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2)
|
||||
$pDataType = PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
if ($pDataType == Cell_DataType::TYPE_STRING2)
|
||||
$pDataType = Cell_DataType::TYPE_STRING;
|
||||
|
||||
$this->_dataType = $pDataType;
|
||||
|
||||
@ -374,12 +376,12 @@ class PHPExcel_Cell
|
||||
* Does this cell contain Data validation rules?
|
||||
*
|
||||
* @return boolean
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function hasDataValidation()
|
||||
{
|
||||
if (!isset($this->_parent)) {
|
||||
throw new PHPExcel_Exception('Cannot check for data validation when cell is not bound to a worksheet');
|
||||
throw new Exception('Cannot check for data validation when cell is not bound to a worksheet');
|
||||
}
|
||||
|
||||
return $this->getWorksheet()->dataValidationExists($this->getCoordinate());
|
||||
@ -388,13 +390,13 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Get Data validation rules
|
||||
*
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function getDataValidation()
|
||||
{
|
||||
if (!isset($this->_parent)) {
|
||||
throw new PHPExcel_Exception('Cannot get data validation for cell that is not bound to a worksheet');
|
||||
throw new Exception('Cannot get data validation for cell that is not bound to a worksheet');
|
||||
}
|
||||
|
||||
return $this->getWorksheet()->getDataValidation($this->getCoordinate());
|
||||
@ -403,14 +405,14 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Set Data validation rules
|
||||
*
|
||||
* @param PHPExcel_Cell_DataValidation $pDataValidation
|
||||
* @return PHPExcel_Cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Cell_DataValidation $pDataValidation
|
||||
* @return PHPExcel\Cell
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function setDataValidation(PHPExcel_Cell_DataValidation $pDataValidation = NULL)
|
||||
public function setDataValidation(Cell_DataValidation $pDataValidation = NULL)
|
||||
{
|
||||
if (!isset($this->_parent)) {
|
||||
throw new PHPExcel_Exception('Cannot set data validation for cell that is not bound to a worksheet');
|
||||
throw new Exception('Cannot set data validation for cell that is not bound to a worksheet');
|
||||
}
|
||||
|
||||
$this->getWorksheet()->setDataValidation($this->getCoordinate(), $pDataValidation);
|
||||
@ -422,12 +424,12 @@ class PHPExcel_Cell
|
||||
* Does this cell contain a Hyperlink?
|
||||
*
|
||||
* @return boolean
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function hasHyperlink()
|
||||
{
|
||||
if (!isset($this->_parent)) {
|
||||
throw new PHPExcel_Exception('Cannot check for hyperlink when cell is not bound to a worksheet');
|
||||
throw new Exception('Cannot check for hyperlink when cell is not bound to a worksheet');
|
||||
}
|
||||
|
||||
return $this->getWorksheet()->hyperlinkExists($this->getCoordinate());
|
||||
@ -436,13 +438,13 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Get Hyperlink
|
||||
*
|
||||
* @return PHPExcel_Cell_Hyperlink
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel\Cell_Hyperlink
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function getHyperlink()
|
||||
{
|
||||
if (!isset($this->_parent)) {
|
||||
throw new PHPExcel_Exception('Cannot get hyperlink for cell that is not bound to a worksheet');
|
||||
throw new Exception('Cannot get hyperlink for cell that is not bound to a worksheet');
|
||||
}
|
||||
|
||||
return $this->getWorksheet()->getHyperlink($this->getCoordinate());
|
||||
@ -451,14 +453,14 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Set Hyperlink
|
||||
*
|
||||
* @param PHPExcel_Cell_Hyperlink $pHyperlink
|
||||
* @return PHPExcel_Cell
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Cell_Hyperlink $pHyperlink
|
||||
* @return PHPExcel\Cell
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function setHyperlink(PHPExcel_Cell_Hyperlink $pHyperlink = NULL)
|
||||
public function setHyperlink(Cell_Hyperlink $pHyperlink = NULL)
|
||||
{
|
||||
if (!isset($this->_parent)) {
|
||||
throw new PHPExcel_Exception('Cannot set hyperlink for cell that is not bound to a worksheet');
|
||||
throw new Exception('Cannot set hyperlink for cell that is not bound to a worksheet');
|
||||
}
|
||||
|
||||
$this->getWorksheet()->setHyperlink($this->getCoordinate(), $pHyperlink);
|
||||
@ -469,7 +471,7 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Get parent worksheet
|
||||
*
|
||||
* @return PHPExcel_Worksheet
|
||||
* @return PHPExcel\Worksheet
|
||||
*/
|
||||
public function getParent() {
|
||||
return $this->_parent;
|
||||
@ -478,7 +480,7 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Get parent worksheet
|
||||
*
|
||||
* @return PHPExcel_Worksheet
|
||||
* @return PHPExcel\Worksheet
|
||||
*/
|
||||
public function getWorksheet() {
|
||||
return $this->_parent->getParent();
|
||||
@ -487,7 +489,7 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Get cell style
|
||||
*
|
||||
* @return PHPExcel_Style
|
||||
* @return PHPExcel\Style
|
||||
*/
|
||||
public function getStyle()
|
||||
{
|
||||
@ -497,10 +499,10 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Re-bind parent
|
||||
*
|
||||
* @param PHPExcel_Worksheet $parent
|
||||
* @return PHPExcel_Cell
|
||||
* @param PHPExcel\Worksheet $parent
|
||||
* @return PHPExcel\Cell
|
||||
*/
|
||||
public function rebindParent(PHPExcel_Worksheet $parent) {
|
||||
public function rebindParent(Worksheet $parent) {
|
||||
$this->_parent = $parent->getCellCacheController();
|
||||
|
||||
return $this->notifyCacheController();
|
||||
@ -531,19 +533,19 @@ class PHPExcel_Cell
|
||||
*
|
||||
* @param string $pCoordinateString
|
||||
* @return array Array containing column and row (indexes 0 and 1)
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function coordinateFromString($pCoordinateString = 'A1')
|
||||
{
|
||||
if (preg_match("/^([$]?[A-Z]{1,3})([$]?\d{1,7})$/", $pCoordinateString, $matches)) {
|
||||
return array($matches[1],$matches[2]);
|
||||
} elseif ((strpos($pCoordinateString,':') !== FALSE) || (strpos($pCoordinateString,',') !== FALSE)) {
|
||||
throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells');
|
||||
throw new Exception('Cell coordinate string can not be a range of cells');
|
||||
} elseif ($pCoordinateString == '') {
|
||||
throw new PHPExcel_Exception('Cell coordinate can not be zero-length string');
|
||||
throw new Exception('Cell coordinate can not be zero-length string');
|
||||
}
|
||||
|
||||
throw new PHPExcel_Exception('Invalid cell coordinate '.$pCoordinateString);
|
||||
throw new Exception('Invalid cell coordinate '.$pCoordinateString);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -552,7 +554,7 @@ class PHPExcel_Cell
|
||||
* @param string $pCoordinateString e.g. 'A' or '1' or 'A1'
|
||||
* Note that this value can be a row or column reference as well as a cell reference
|
||||
* @return string Absolute coordinate e.g. '$A' or '$1' or '$A$1'
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function absoluteReference($pCoordinateString = 'A1')
|
||||
{
|
||||
@ -574,7 +576,7 @@ class PHPExcel_Cell
|
||||
return $worksheet . self::absoluteCoordinate($pCoordinateString);
|
||||
}
|
||||
|
||||
throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells');
|
||||
throw new Exception('Cell coordinate string can not be a range of cells');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -582,7 +584,7 @@ class PHPExcel_Cell
|
||||
*
|
||||
* @param string $pCoordinateString e.g. 'A1'
|
||||
* @return string Absolute coordinate e.g. '$A$1'
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function absoluteCoordinate($pCoordinateString = 'A1')
|
||||
{
|
||||
@ -602,7 +604,7 @@ class PHPExcel_Cell
|
||||
return $worksheet . '$' . $column . '$' . $row;
|
||||
}
|
||||
|
||||
throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells');
|
||||
throw new Exception('Cell coordinate string can not be a range of cells');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -633,13 +635,13 @@ class PHPExcel_Cell
|
||||
*
|
||||
* @param array $pRange Array containg one or more arrays containing one or two coordinate strings
|
||||
* @return string String representation of $pRange
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function buildRange($pRange)
|
||||
{
|
||||
// Verify range
|
||||
if (!is_array($pRange) || empty($pRange) || !is_array($pRange[0])) {
|
||||
throw new PHPExcel_Exception('Range does not contain any information');
|
||||
throw new Exception('Range does not contain any information');
|
||||
}
|
||||
|
||||
// Build range
|
||||
@ -734,6 +736,7 @@ class PHPExcel_Cell
|
||||
*
|
||||
* @param string $pString
|
||||
* @return int Column index (base 1 !!!)
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function columnIndexFromString($pString = 'A')
|
||||
{
|
||||
@ -769,7 +772,7 @@ class PHPExcel_Cell
|
||||
return $_indexCache[$pString];
|
||||
}
|
||||
}
|
||||
throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString{0})) ? "longer than 3 characters" : "empty"));
|
||||
throw new Exception("Column string index can not be " . ((isset($pString{0})) ? "longer than 3 characters" : "empty"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -866,11 +869,11 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Compare 2 cells
|
||||
*
|
||||
* @param PHPExcel_Cell $a Cell a
|
||||
* @param PHPExcel_Cell $b Cell b
|
||||
* @param PHPExcel\Cell $a Cell a
|
||||
* @param PHPExcel\Cell $b Cell b
|
||||
* @return int Result of comparison (always -1 or 1, never zero!)
|
||||
*/
|
||||
public static function compareCells(PHPExcel_Cell $a, PHPExcel_Cell $b)
|
||||
public static function compareCells(Cell $a, Cell $b)
|
||||
{
|
||||
if ($a->getRow() < $b->getRow()) {
|
||||
return -1;
|
||||
@ -886,11 +889,11 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Get value binder to use
|
||||
*
|
||||
* @return PHPExcel_Cell_IValueBinder
|
||||
* @return PHPExcel\Cell_IValueBinder
|
||||
*/
|
||||
public static function getValueBinder() {
|
||||
if (self::$_valueBinder === NULL) {
|
||||
self::$_valueBinder = new PHPExcel_Cell_DefaultValueBinder();
|
||||
self::$_valueBinder = new Cell_DefaultValueBinder();
|
||||
}
|
||||
|
||||
return self::$_valueBinder;
|
||||
@ -899,12 +902,12 @@ class PHPExcel_Cell
|
||||
/**
|
||||
* Set value binder to use
|
||||
*
|
||||
* @param PHPExcel_Cell_IValueBinder $binder
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Cell_IValueBinder $binder
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function setValueBinder(PHPExcel_Cell_IValueBinder $binder = NULL) {
|
||||
public static function setValueBinder(Cell_IValueBinder $binder = NULL) {
|
||||
if ($binder === NULL) {
|
||||
throw new PHPExcel_Exception("A PHPExcel_Cell_IValueBinder is required for PHPExcel to function correctly.");
|
||||
throw new Exception("A PHPExcel\Cell_IValueBinder is required for PHPExcel to function correctly.");
|
||||
}
|
||||
|
||||
self::$_valueBinder = $binder;
|
||||
@ -938,7 +941,7 @@ class PHPExcel_Cell
|
||||
* Set index to cellXf
|
||||
*
|
||||
* @param int $pValue
|
||||
* @return PHPExcel_Cell
|
||||
* @return PHPExcel\Cell
|
||||
*/
|
||||
public function setXfIndex($pValue = 0)
|
||||
{
|
||||
|
@ -19,63 +19,55 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Cell_AdvancedValueBinder
|
||||
* PHPExcel\Cell_AdvancedValueBinder
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
|
||||
class Cell_AdvancedValueBinder extends Cell_DefaultValueBinder implements Cell_IValueBinder
|
||||
{
|
||||
/**
|
||||
* Bind value to a cell
|
||||
*
|
||||
* @param PHPExcel_Cell $cell Cell to bind value to
|
||||
* @param PHPExcel\Cell $cell Cell to bind value to
|
||||
* @param mixed $value Value to bind in cell
|
||||
* @return boolean
|
||||
*/
|
||||
public function bindValue(PHPExcel_Cell $cell, $value = null)
|
||||
public function bindValue(Cell $cell, $value = null)
|
||||
{
|
||||
// sanitize UTF-8 strings
|
||||
if (is_string($value)) {
|
||||
$value = PHPExcel_Shared_String::SanitizeUTF8($value);
|
||||
$value = Shared_String::SanitizeUTF8($value);
|
||||
}
|
||||
|
||||
// Find out data type
|
||||
$dataType = parent::dataTypeForValue($value);
|
||||
|
||||
// Style logic - strings
|
||||
if ($dataType === PHPExcel_Cell_DataType::TYPE_STRING && !$value instanceof PHPExcel_RichText) {
|
||||
if ($dataType === Cell_DataType::TYPE_STRING && !$value instanceof RichText) {
|
||||
// Test for booleans using locale-setting
|
||||
if ($value == PHPExcel_Calculation::getTRUE()) {
|
||||
$cell->setValueExplicit( TRUE, PHPExcel_Cell_DataType::TYPE_BOOL);
|
||||
if ($value == Calculation::getTRUE()) {
|
||||
$cell->setValueExplicit( TRUE, Cell_DataType::TYPE_BOOL);
|
||||
return true;
|
||||
} elseif($value == PHPExcel_Calculation::getFALSE()) {
|
||||
$cell->setValueExplicit( FALSE, PHPExcel_Cell_DataType::TYPE_BOOL);
|
||||
} elseif($value == Calculation::getFALSE()) {
|
||||
$cell->setValueExplicit( FALSE, Cell_DataType::TYPE_BOOL);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Check for number in scientific format
|
||||
if (preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NUMBER.'$/', $value)) {
|
||||
$cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
if (preg_match('/^'.Calculation::CALCULATION_REGEXP_NUMBER.'$/', $value)) {
|
||||
$cell->setValueExplicit( (float) $value, Cell_DataType::TYPE_NUMERIC);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -84,7 +76,7 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder
|
||||
// Convert value to number
|
||||
$value = $matches[2] / $matches[3];
|
||||
if ($matches[1] == '-') $value = 0 - $value;
|
||||
$cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit( (float) $value, Cell_DataType::TYPE_NUMERIC);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getNumberFormat()->setFormatCode( '??/??' );
|
||||
@ -93,7 +85,7 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder
|
||||
// Convert value to number
|
||||
$value = $matches[2] + ($matches[3] / $matches[4]);
|
||||
if ($matches[1] == '-') $value = 0 - $value;
|
||||
$cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit( (float) $value, Cell_DataType::TYPE_NUMERIC);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getNumberFormat()->setFormatCode( '# ??/??' );
|
||||
@ -104,34 +96,34 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder
|
||||
if (preg_match('/^\-?[0-9]*\.?[0-9]*\s?\%$/', $value)) {
|
||||
// Convert value to number
|
||||
$value = (float) str_replace('%', '', $value) / 100;
|
||||
$cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit( $value, Cell_DataType::TYPE_NUMERIC);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00 );
|
||||
->getNumberFormat()->setFormatCode( Style_NumberFormat::FORMAT_PERCENTAGE_00 );
|
||||
return true;
|
||||
}
|
||||
|
||||
// Check for currency
|
||||
$currencyCode = PHPExcel_Shared_String::getCurrencyCode();
|
||||
$decimalSeparator = PHPExcel_Shared_String::getDecimalSeparator();
|
||||
$thousandsSeparator = PHPExcel_Shared_String::getThousandsSeparator();
|
||||
$currencyCode = Shared_String::getCurrencyCode();
|
||||
$decimalSeparator = Shared_String::getDecimalSeparator();
|
||||
$thousandsSeparator = Shared_String::getThousandsSeparator();
|
||||
if (preg_match('/^'.preg_quote($currencyCode).' *(\d{1,3}('.preg_quote($thousandsSeparator).'\d{3})*|(\d+))('.preg_quote($decimalSeparator).'\d{2})?$/', $value)) {
|
||||
// Convert value to number
|
||||
$value = (float) trim(str_replace(array($currencyCode, $thousandsSeparator, $decimalSeparator), array('', '', '.'), $value));
|
||||
$cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit( $value, Cell_DataType::TYPE_NUMERIC);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getNumberFormat()->setFormatCode(
|
||||
str_replace('$', $currencyCode, PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE )
|
||||
str_replace('$', $currencyCode, Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE )
|
||||
);
|
||||
return true;
|
||||
} elseif (preg_match('/^\$ *(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/', $value)) {
|
||||
// Convert value to number
|
||||
$value = (float) trim(str_replace(array('$',','), '', $value));
|
||||
$cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit( $value, Cell_DataType::TYPE_NUMERIC);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE );
|
||||
->getNumberFormat()->setFormatCode( Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE );
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -140,10 +132,10 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder
|
||||
// Convert value to number
|
||||
list($h, $m) = explode(':', $value);
|
||||
$days = $h / 24 + $m / 1440;
|
||||
$cell->setValueExplicit($days, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit($days, Cell_DataType::TYPE_NUMERIC);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3 );
|
||||
->getNumberFormat()->setFormatCode( Style_NumberFormat::FORMAT_DATE_TIME3 );
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -153,17 +145,17 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder
|
||||
list($h, $m, $s) = explode(':', $value);
|
||||
$days = $h / 24 + $m / 1440 + $s / 86400;
|
||||
// Convert value to number
|
||||
$cell->setValueExplicit($days, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit($days, Cell_DataType::TYPE_NUMERIC);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4 );
|
||||
->getNumberFormat()->setFormatCode( Style_NumberFormat::FORMAT_DATE_TIME4 );
|
||||
return true;
|
||||
}
|
||||
|
||||
// Check for datetime, e.g. '2008-12-31', '2008-12-31 15:59', '2008-12-31 15:59:10'
|
||||
if (($d = PHPExcel_Shared_Date::stringToExcel($value)) !== false) {
|
||||
if (($d = Shared_Date::stringToExcel($value)) !== false) {
|
||||
// Convert value to number
|
||||
$cell->setValueExplicit($d, PHPExcel_Cell_DataType::TYPE_NUMERIC);
|
||||
$cell->setValueExplicit($d, Cell_DataType::TYPE_NUMERIC);
|
||||
// Determine style. Either there is a time part or not. Look for ':'
|
||||
if (strpos($value, ':') !== false) {
|
||||
$formatCode = 'yyyy-mm-dd h:mm';
|
||||
@ -177,8 +169,8 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder
|
||||
|
||||
// Check for newline character "\n"
|
||||
if (strpos($value, "\n") !== FALSE) {
|
||||
$value = PHPExcel_Shared_String::SanitizeUTF8($value);
|
||||
$cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING);
|
||||
$value = Shared_String::SanitizeUTF8($value);
|
||||
$cell->setValueExplicit($value, Cell_DataType::TYPE_STRING);
|
||||
// Set style
|
||||
$cell->getWorksheet()->getStyle( $cell->getCoordinate() )
|
||||
->getAlignment()->setWrapText(TRUE);
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Cell_DataType
|
||||
* PHPExcel\Cell_DataType
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Cell_DataType
|
||||
class Cell_DataType
|
||||
{
|
||||
/* Data types */
|
||||
const TYPE_STRING2 = 'str';
|
||||
@ -72,12 +74,12 @@ class PHPExcel_Cell_DataType
|
||||
/**
|
||||
* DataType for value
|
||||
*
|
||||
* @deprecated Replaced by PHPExcel_Cell_IValueBinder infrastructure, will be removed in version 1.8.0
|
||||
* @deprecated Replaced by PHPExcel\Cell_IValueBinder infrastructure, will be removed in version 1.8.0
|
||||
* @param mixed $pValue
|
||||
* @return string
|
||||
*/
|
||||
public static function dataTypeForValue($pValue = null) {
|
||||
return PHPExcel_Cell_DefaultValueBinder::dataTypeForValue($pValue);
|
||||
return Cell_DefaultValueBinder::dataTypeForValue($pValue);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -88,13 +90,13 @@ class PHPExcel_Cell_DataType
|
||||
*/
|
||||
public static function checkString($pValue = null)
|
||||
{
|
||||
if ($pValue instanceof PHPExcel_RichText) {
|
||||
if ($pValue instanceof RichText) {
|
||||
// TODO: Sanitize Rich-Text string (max. character count is 32,767)
|
||||
return $pValue;
|
||||
}
|
||||
|
||||
// string must never be longer than 32,767 characters, truncate if necessary
|
||||
$pValue = PHPExcel_Shared_String::Substring($pValue, 0, 32767);
|
||||
$pValue = Shared_String::Substring($pValue, 0, 32767);
|
||||
|
||||
// we require that newline is represented as "\n" in core, not as "\r\n" or "\r"
|
||||
$pValue = str_replace(array("\r\n", "\r"), "\n", $pValue);
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Cell_DataValidation
|
||||
* PHPExcel\Cell_DataValidation
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Cell_DataValidation
|
||||
class Cell_DataValidation
|
||||
{
|
||||
/* Data validation types */
|
||||
const TYPE_NONE = 'none';
|
||||
@ -79,14 +81,14 @@ class PHPExcel_Cell_DataValidation
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $_type = PHPExcel_Cell_DataValidation::TYPE_NONE;
|
||||
private $_type = Cell_DataValidation::TYPE_NONE;
|
||||
|
||||
/**
|
||||
* Error style
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP;
|
||||
private $_errorStyle = Cell_DataValidation::STYLE_STOP;
|
||||
|
||||
/**
|
||||
* Operator
|
||||
@ -152,15 +154,15 @@ class PHPExcel_Cell_DataValidation
|
||||
private $_prompt;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Cell_DataValidation
|
||||
* Create a new PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// Initialise member variables
|
||||
$this->_formula1 = '';
|
||||
$this->_formula2 = '';
|
||||
$this->_type = PHPExcel_Cell_DataValidation::TYPE_NONE;
|
||||
$this->_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP;
|
||||
$this->_type = Cell_DataValidation::TYPE_NONE;
|
||||
$this->_errorStyle = Cell_DataValidation::STYLE_STOP;
|
||||
$this->_operator = '';
|
||||
$this->_allowBlank = FALSE;
|
||||
$this->_showDropDown = FALSE;
|
||||
@ -185,7 +187,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Formula 1
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setFormula1($value = '') {
|
||||
$this->_formula1 = $value;
|
||||
@ -205,7 +207,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Formula 2
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setFormula2($value = '') {
|
||||
$this->_formula2 = $value;
|
||||
@ -225,9 +227,9 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Type
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setType($value = PHPExcel_Cell_DataValidation::TYPE_NONE) {
|
||||
public function setType($value = Cell_DataValidation::TYPE_NONE) {
|
||||
$this->_type = $value;
|
||||
return $this;
|
||||
}
|
||||
@ -245,9 +247,9 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Error style
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setErrorStyle($value = PHPExcel_Cell_DataValidation::STYLE_STOP) {
|
||||
public function setErrorStyle($value = Cell_DataValidation::STYLE_STOP) {
|
||||
$this->_errorStyle = $value;
|
||||
return $this;
|
||||
}
|
||||
@ -265,7 +267,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Operator
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setOperator($value = '') {
|
||||
$this->_operator = $value;
|
||||
@ -285,7 +287,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Allow Blank
|
||||
*
|
||||
* @param boolean $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setAllowBlank($value = false) {
|
||||
$this->_allowBlank = $value;
|
||||
@ -305,7 +307,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Show DropDown
|
||||
*
|
||||
* @param boolean $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setShowDropDown($value = false) {
|
||||
$this->_showDropDown = $value;
|
||||
@ -325,7 +327,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Show InputMessage
|
||||
*
|
||||
* @param boolean $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setShowInputMessage($value = false) {
|
||||
$this->_showInputMessage = $value;
|
||||
@ -345,7 +347,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Show ErrorMessage
|
||||
*
|
||||
* @param boolean $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setShowErrorMessage($value = false) {
|
||||
$this->_showErrorMessage = $value;
|
||||
@ -365,7 +367,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Error title
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setErrorTitle($value = '') {
|
||||
$this->_errorTitle = $value;
|
||||
@ -385,7 +387,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Error
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setError($value = '') {
|
||||
$this->_error = $value;
|
||||
@ -405,7 +407,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Prompt title
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setPromptTitle($value = '') {
|
||||
$this->_promptTitle = $value;
|
||||
@ -425,7 +427,7 @@ class PHPExcel_Cell_DataValidation
|
||||
* Set Prompt
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_DataValidation
|
||||
* @return PHPExcel\Cell_DataValidation
|
||||
*/
|
||||
public function setPrompt($value = '') {
|
||||
$this->_prompt = $value;
|
||||
@ -441,8 +443,8 @@ class PHPExcel_Cell_DataValidation
|
||||
return md5(
|
||||
$this->_formula1
|
||||
. $this->_formula2
|
||||
. $this->_type = PHPExcel_Cell_DataValidation::TYPE_NONE
|
||||
. $this->_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP
|
||||
. $this->_type = Cell_DataValidation::TYPE_NONE
|
||||
. $this->_errorStyle = Cell_DataValidation::STYLE_STOP
|
||||
. $this->_operator
|
||||
. ($this->_allowBlank ? 't' : 'f')
|
||||
. ($this->_showDropDown ? 't' : 'f')
|
||||
|
@ -19,44 +19,36 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Cell_DefaultValueBinder
|
||||
* PHPExcel\Cell_DefaultValueBinder
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
|
||||
class Cell_DefaultValueBinder implements Cell_IValueBinder
|
||||
{
|
||||
/**
|
||||
* Bind value to a cell
|
||||
*
|
||||
* @param PHPExcel_Cell $cell Cell to bind value to
|
||||
* @param PHPExcel\Cell $cell Cell to bind value to
|
||||
* @param mixed $value Value to bind in cell
|
||||
* @return boolean
|
||||
*/
|
||||
public function bindValue(PHPExcel_Cell $cell, $value = null)
|
||||
public function bindValue(Cell $cell, $value = null)
|
||||
{
|
||||
// sanitize UTF-8 strings
|
||||
if (is_string($value)) {
|
||||
$value = PHPExcel_Shared_String::SanitizeUTF8($value);
|
||||
$value = Shared_String::SanitizeUTF8($value);
|
||||
}
|
||||
|
||||
// Set value explicit
|
||||
@ -75,31 +67,31 @@ class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
|
||||
public static function dataTypeForValue($pValue = null) {
|
||||
// Match the value against a few data types
|
||||
if (is_null($pValue)) {
|
||||
return PHPExcel_Cell_DataType::TYPE_NULL;
|
||||
return Cell_DataType::TYPE_NULL;
|
||||
|
||||
} elseif ($pValue === '') {
|
||||
return PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
return Cell_DataType::TYPE_STRING;
|
||||
|
||||
} elseif ($pValue instanceof PHPExcel_RichText) {
|
||||
return PHPExcel_Cell_DataType::TYPE_INLINE;
|
||||
} elseif ($pValue instanceof RichText) {
|
||||
return Cell_DataType::TYPE_INLINE;
|
||||
|
||||
} elseif ($pValue{0} === '=' && strlen($pValue) > 1) {
|
||||
return PHPExcel_Cell_DataType::TYPE_FORMULA;
|
||||
return Cell_DataType::TYPE_FORMULA;
|
||||
|
||||
} elseif (is_bool($pValue)) {
|
||||
return PHPExcel_Cell_DataType::TYPE_BOOL;
|
||||
return Cell_DataType::TYPE_BOOL;
|
||||
|
||||
} elseif (is_float($pValue) || is_int($pValue)) {
|
||||
return PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
return Cell_DataType::TYPE_NUMERIC;
|
||||
|
||||
} elseif (preg_match('/^\-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)$/', $pValue)) {
|
||||
return PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
return Cell_DataType::TYPE_NUMERIC;
|
||||
|
||||
} elseif (is_string($pValue) && array_key_exists($pValue, PHPExcel_Cell_DataType::getErrorCodes())) {
|
||||
return PHPExcel_Cell_DataType::TYPE_ERROR;
|
||||
} elseif (is_string($pValue) && array_key_exists($pValue, Cell_DataType::getErrorCodes())) {
|
||||
return Cell_DataType::TYPE_ERROR;
|
||||
|
||||
} else {
|
||||
return PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
return Cell_DataType::TYPE_STRING;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Cell_Hyperlink
|
||||
* PHPExcel\Cell_Hyperlink
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Cell_Hyperlink
|
||||
class Cell_Hyperlink
|
||||
{
|
||||
/**
|
||||
* URL to link the cell to
|
||||
@ -50,7 +52,7 @@ class PHPExcel_Cell_Hyperlink
|
||||
private $_tooltip;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Cell_Hyperlink
|
||||
* Create a new PHPExcel\Cell_Hyperlink
|
||||
*
|
||||
* @param string $pUrl Url to link the cell to
|
||||
* @param string $pTooltip Tooltip to display on the hyperlink
|
||||
@ -75,7 +77,7 @@ class PHPExcel_Cell_Hyperlink
|
||||
* Set URL
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_Hyperlink
|
||||
* @return PHPExcel\Cell_Hyperlink
|
||||
*/
|
||||
public function setUrl($value = '') {
|
||||
$this->_url = $value;
|
||||
@ -95,7 +97,7 @@ class PHPExcel_Cell_Hyperlink
|
||||
* Set tooltip
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Cell_Hyperlink
|
||||
* @return PHPExcel\Cell_Hyperlink
|
||||
*/
|
||||
public function setTooltip($value = '') {
|
||||
$this->_tooltip = $value;
|
||||
|
@ -19,28 +19,30 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Cell_IValueBinder
|
||||
* PHPExcel\Cell_IValueBinder
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Cell
|
||||
* @package PHPExcel\Cell
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
interface PHPExcel_Cell_IValueBinder
|
||||
interface Cell_IValueBinder
|
||||
{
|
||||
/**
|
||||
* Bind value to a cell
|
||||
*
|
||||
* @param PHPExcel_Cell $cell Cell to bind value to
|
||||
* @param PHPExcel\Cell $cell Cell to bind value to
|
||||
* @param mixed $value Value to bind in cell
|
||||
* @return boolean
|
||||
*/
|
||||
public function bindValue(PHPExcel_Cell $cell, $value = NULL);
|
||||
public function bindValue(Cell $cell, $value = NULL);
|
||||
}
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart
|
||||
* PHPExcel\Chart
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart
|
||||
class Chart
|
||||
{
|
||||
/**
|
||||
* Chart Name
|
||||
@ -45,42 +47,42 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Worksheet
|
||||
*
|
||||
* @var PHPExcel_Worksheet
|
||||
* @var PHPExcel\Worksheet
|
||||
*/
|
||||
private $_worksheet = null;
|
||||
|
||||
/**
|
||||
* Chart Title
|
||||
*
|
||||
* @var PHPExcel_Chart_Title
|
||||
* @var PHPExcel\Chart_Title
|
||||
*/
|
||||
private $_title = null;
|
||||
|
||||
/**
|
||||
* Chart Legend
|
||||
*
|
||||
* @var PHPExcel_Chart_Legend
|
||||
* @var PHPExcel\Chart_Legend
|
||||
*/
|
||||
private $_legend = null;
|
||||
|
||||
/**
|
||||
* X-Axis Label
|
||||
*
|
||||
* @var PHPExcel_Chart_Title
|
||||
* @var PHPExcel\Chart_Title
|
||||
*/
|
||||
private $_xAxisLabel = null;
|
||||
|
||||
/**
|
||||
* Y-Axis Label
|
||||
*
|
||||
* @var PHPExcel_Chart_Title
|
||||
* @var PHPExcel\Chart_Title
|
||||
*/
|
||||
private $_yAxisLabel = null;
|
||||
|
||||
/**
|
||||
* Chart Plot Area
|
||||
*
|
||||
* @var PHPExcel_Chart_PlotArea
|
||||
* @var PHPExcel\Chart_PlotArea
|
||||
*/
|
||||
private $_plotArea = null;
|
||||
|
||||
@ -148,9 +150,9 @@ class PHPExcel_Chart
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart
|
||||
* Create a new PHPExcel\Chart
|
||||
*/
|
||||
public function __construct($name, PHPExcel_Chart_Title $title = null, PHPExcel_Chart_Legend $legend = null, PHPExcel_Chart_PlotArea $plotArea = null, $plotVisibleOnly = true, $displayBlanksAs = '0', PHPExcel_Chart_Title $xAxisLabel = null, PHPExcel_Chart_Title $yAxisLabel = null)
|
||||
public function __construct($name, Chart_Title $title = null, Chart_Legend $legend = null, Chart_PlotArea $plotArea = null, $plotVisibleOnly = true, $displayBlanksAs = '0', Chart_Title $xAxisLabel = null, Chart_Title $yAxisLabel = null)
|
||||
{
|
||||
$this->_name = $name;
|
||||
$this->_title = $title;
|
||||
@ -174,7 +176,7 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Get Worksheet
|
||||
*
|
||||
* @return PHPExcel_Worksheet
|
||||
* @return PHPExcel\Worksheet
|
||||
*/
|
||||
public function getWorksheet() {
|
||||
return $this->_worksheet;
|
||||
@ -183,11 +185,11 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Set Worksheet
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pValue
|
||||
* @throws PHPExcel_Chart_Exception
|
||||
* @return PHPExcel_Chart
|
||||
* @param PHPExcel\Worksheet $pValue
|
||||
* @throws PHPExcel\Chart_Exception
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setWorksheet(PHPExcel_Worksheet $pValue = null) {
|
||||
public function setWorksheet(Worksheet $pValue = null) {
|
||||
$this->_worksheet = $pValue;
|
||||
|
||||
return $this;
|
||||
@ -196,7 +198,7 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Get Title
|
||||
*
|
||||
* @return PHPExcel_Chart_Title
|
||||
* @return PHPExcel\Chart_Title
|
||||
*/
|
||||
public function getTitle() {
|
||||
return $this->_title;
|
||||
@ -205,10 +207,10 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Set Title
|
||||
*
|
||||
* @param PHPExcel_Chart_Title $title
|
||||
* @return PHPExcel_Chart
|
||||
* @param PHPExcel\Chart_Title $title
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setTitle(PHPExcel_Chart_Title $title) {
|
||||
public function setTitle(Chart_Title $title) {
|
||||
$this->_title = $title;
|
||||
|
||||
return $this;
|
||||
@ -217,7 +219,7 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Get Legend
|
||||
*
|
||||
* @return PHPExcel_Chart_Legend
|
||||
* @return PHPExcel\Chart_Legend
|
||||
*/
|
||||
public function getLegend() {
|
||||
return $this->_legend;
|
||||
@ -226,10 +228,10 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Set Legend
|
||||
*
|
||||
* @param PHPExcel_Chart_Legend $legend
|
||||
* @return PHPExcel_Chart
|
||||
* @param PHPExcel\Chart_Legend $legend
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setLegend(PHPExcel_Chart_Legend $legend) {
|
||||
public function setLegend(Chart_Legend $legend) {
|
||||
$this->_legend = $legend;
|
||||
|
||||
return $this;
|
||||
@ -238,7 +240,7 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Get X-Axis Label
|
||||
*
|
||||
* @return PHPExcel_Chart_Title
|
||||
* @return PHPExcel\Chart_Title
|
||||
*/
|
||||
public function getXAxisLabel() {
|
||||
return $this->_xAxisLabel;
|
||||
@ -247,10 +249,10 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Set X-Axis Label
|
||||
*
|
||||
* @param PHPExcel_Chart_Title $label
|
||||
* @return PHPExcel_Chart
|
||||
* @param PHPExcel\Chart_Title $label
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setXAxisLabel(PHPExcel_Chart_Title $label) {
|
||||
public function setXAxisLabel(Chart_Title $label) {
|
||||
$this->_xAxisLabel = $label;
|
||||
|
||||
return $this;
|
||||
@ -259,7 +261,7 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Get Y-Axis Label
|
||||
*
|
||||
* @return PHPExcel_Chart_Title
|
||||
* @return PHPExcel\Chart_Title
|
||||
*/
|
||||
public function getYAxisLabel() {
|
||||
return $this->_yAxisLabel;
|
||||
@ -268,10 +270,10 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Set Y-Axis Label
|
||||
*
|
||||
* @param PHPExcel_Chart_Title $label
|
||||
* @return PHPExcel_Chart
|
||||
* @param PHPExcel\Chart_Title $label
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setYAxisLabel(PHPExcel_Chart_Title $label) {
|
||||
public function setYAxisLabel(Chart_Title $label) {
|
||||
$this->_yAxisLabel = $label;
|
||||
|
||||
return $this;
|
||||
@ -280,7 +282,7 @@ class PHPExcel_Chart
|
||||
/**
|
||||
* Get Plot Area
|
||||
*
|
||||
* @return PHPExcel_Chart_PlotArea
|
||||
* @return PHPExcel\Chart_PlotArea
|
||||
*/
|
||||
public function getPlotArea() {
|
||||
return $this->_plotArea;
|
||||
@ -299,7 +301,7 @@ class PHPExcel_Chart
|
||||
* Set Plot Visible Only
|
||||
*
|
||||
* @param boolean $plotVisibleOnly
|
||||
* @return PHPExcel_Chart
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setPlotVisibleOnly($plotVisibleOnly = true) {
|
||||
$this->_plotVisibleOnly = $plotVisibleOnly;
|
||||
@ -320,7 +322,7 @@ class PHPExcel_Chart
|
||||
* Set Display Blanks as
|
||||
*
|
||||
* @param string $displayBlanksAs
|
||||
* @return PHPExcel_Chart
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setDisplayBlanksAs($displayBlanksAs = '0') {
|
||||
$this->_displayBlanksAs = $displayBlanksAs;
|
||||
@ -333,7 +335,7 @@ class PHPExcel_Chart
|
||||
* @param string $cell
|
||||
* @param integer $xOffset
|
||||
* @param integer $yOffset
|
||||
* @return PHPExcel_Chart
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setTopLeftPosition($cell, $xOffset=null, $yOffset=null) {
|
||||
$this->_topLeftCellRef = $cell;
|
||||
@ -370,7 +372,7 @@ class PHPExcel_Chart
|
||||
* Set the Top Left cell position for the chart
|
||||
*
|
||||
* @param string $cell
|
||||
* @return PHPExcel_Chart
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setTopLeftCell($cell) {
|
||||
$this->_topLeftCellRef = $cell;
|
||||
@ -383,7 +385,7 @@ class PHPExcel_Chart
|
||||
*
|
||||
* @param integer $xOffset
|
||||
* @param integer $yOffset
|
||||
* @return PHPExcel_Chart
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setTopLeftOffset($xOffset=null,$yOffset=null) {
|
||||
if (!is_null($xOffset))
|
||||
@ -431,7 +433,7 @@ class PHPExcel_Chart
|
||||
* @param string $cell
|
||||
* @param integer $xOffset
|
||||
* @param integer $yOffset
|
||||
* @return PHPExcel_Chart
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setBottomRightPosition($cell, $xOffset=null, $yOffset=null) {
|
||||
$this->_bottomRightCellRef = $cell;
|
||||
@ -475,7 +477,7 @@ class PHPExcel_Chart
|
||||
*
|
||||
* @param integer $xOffset
|
||||
* @param integer $yOffset
|
||||
* @return PHPExcel_Chart
|
||||
* @return PHPExcel\Chart
|
||||
*/
|
||||
public function setBottomRightOffset($xOffset=null,$yOffset=null) {
|
||||
if (!is_null($xOffset))
|
||||
@ -525,21 +527,21 @@ class PHPExcel_Chart
|
||||
}
|
||||
|
||||
public function render($outputDestination = null) {
|
||||
$libraryName = PHPExcel_Settings::getChartRendererName();
|
||||
$libraryName = Settings::getChartRendererName();
|
||||
if (is_null($libraryName)) {
|
||||
return false;
|
||||
}
|
||||
// Ensure that data series values are up-to-date before we render
|
||||
$this->refresh();
|
||||
|
||||
$libraryPath = PHPExcel_Settings::getChartRendererPath();
|
||||
$libraryPath = Settings::getChartRendererPath();
|
||||
$includePath = str_replace('\\','/',get_include_path());
|
||||
$rendererPath = str_replace('\\','/',$libraryPath);
|
||||
if (strpos($rendererPath,$includePath) === false) {
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . $libraryPath);
|
||||
}
|
||||
|
||||
$rendererName = 'PHPExcel_Chart_Renderer_'.$libraryName;
|
||||
$rendererName = __NAMESPACE__ . '\Chart_Renderer_'.$libraryName;
|
||||
$renderer = new $rendererName($this);
|
||||
|
||||
if ($outputDestination == 'php://output') {
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_DataSeries
|
||||
* PHPExcel\Chart_DataSeries
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_DataSeries
|
||||
class Chart_DataSeries
|
||||
{
|
||||
|
||||
const TYPE_BARCHART = 'barChart';
|
||||
@ -108,14 +110,14 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Plot Label
|
||||
*
|
||||
* @var array of PHPExcel_Chart_DataSeriesValues
|
||||
* @var array of PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
private $_plotLabel = array();
|
||||
|
||||
/**
|
||||
* Plot Category
|
||||
*
|
||||
* @var array of PHPExcel_Chart_DataSeriesValues
|
||||
* @var array of PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
private $_plotCategory = array();
|
||||
|
||||
@ -129,12 +131,12 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Plot Values
|
||||
*
|
||||
* @var array of PHPExcel_Chart_DataSeriesValues
|
||||
* @var array of PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
private $_plotValues = array();
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart_DataSeries
|
||||
* Create a new PHPExcel\Chart_DataSeries
|
||||
*/
|
||||
public function __construct($plotType = null, $plotGrouping = null, $plotOrder = array(), $plotLabel = array(), $plotCategory = array(), $plotValues = array(), $smoothLine = null, $plotStyle = null)
|
||||
{
|
||||
@ -144,12 +146,12 @@ class PHPExcel_Chart_DataSeries
|
||||
$keys = array_keys($plotValues);
|
||||
$this->_plotValues = $plotValues;
|
||||
if ((count($plotLabel) == 0) || (is_null($plotLabel[$keys[0]]))) {
|
||||
$plotLabel[$keys[0]] = new PHPExcel_Chart_DataSeriesValues();
|
||||
$plotLabel[$keys[0]] = new Chart_DataSeriesValues();
|
||||
}
|
||||
|
||||
$this->_plotLabel = $plotLabel;
|
||||
if ((count($plotCategory) == 0) || (is_null($plotCategory[$keys[0]]))) {
|
||||
$plotCategory[$keys[0]] = new PHPExcel_Chart_DataSeriesValues();
|
||||
$plotCategory[$keys[0]] = new Chart_DataSeriesValues();
|
||||
}
|
||||
$this->_plotCategory = $plotCategory;
|
||||
$this->_smoothLine = $smoothLine;
|
||||
@ -222,7 +224,7 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Get Plot Labels
|
||||
*
|
||||
* @return array of PHPExcel_Chart_DataSeriesValues
|
||||
* @return array of PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function getPlotLabels() {
|
||||
return $this->_plotLabel;
|
||||
@ -231,7 +233,7 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Get Plot Label by Index
|
||||
*
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function getPlotLabelByIndex($index) {
|
||||
$keys = array_keys($this->_plotLabel);
|
||||
@ -246,7 +248,7 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Get Plot Categories
|
||||
*
|
||||
* @return array of PHPExcel_Chart_DataSeriesValues
|
||||
* @return array of PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function getPlotCategories() {
|
||||
return $this->_plotCategory;
|
||||
@ -255,7 +257,7 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Get Plot Category by Index
|
||||
*
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function getPlotCategoryByIndex($index) {
|
||||
$keys = array_keys($this->_plotCategory);
|
||||
@ -288,7 +290,7 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Get Plot Values
|
||||
*
|
||||
* @return array of PHPExcel_Chart_DataSeriesValues
|
||||
* @return array of PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function getPlotValues() {
|
||||
return $this->_plotValues;
|
||||
@ -297,7 +299,7 @@ class PHPExcel_Chart_DataSeries
|
||||
/**
|
||||
* Get Plot Values by Index
|
||||
*
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function getPlotValuesByIndex($index) {
|
||||
$keys = array_keys($this->_plotValues);
|
||||
@ -336,7 +338,7 @@ class PHPExcel_Chart_DataSeries
|
||||
$this->_smoothLine = $smoothLine;
|
||||
}
|
||||
|
||||
public function refresh(PHPExcel_Worksheet $worksheet) {
|
||||
public function refresh(Worksheet $worksheet) {
|
||||
foreach($this->_plotValues as $plotValues) {
|
||||
if ($plotValues !== NULL)
|
||||
$plotValues->refresh($worksheet, TRUE);
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_DataSeriesValues
|
||||
* PHPExcel\Chart_DataSeriesValues
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_DataSeriesValues
|
||||
class Chart_DataSeriesValues
|
||||
{
|
||||
|
||||
const DATASERIES_TYPE_STRING = 'String';
|
||||
@ -87,7 +89,7 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
private $_dataValues = array();
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart_DataSeriesValues object
|
||||
* Create a new PHPExcel\Chart_DataSeriesValues object
|
||||
*/
|
||||
public function __construct($dataType = self::DATASERIES_TYPE_NUMBER, $dataSource = null, $formatCode = null, $pointCount = 0, $dataValues = array(), $marker = null)
|
||||
{
|
||||
@ -113,15 +115,15 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
*
|
||||
* @param string $dataType Datatype of this data series
|
||||
* Typical values are:
|
||||
* PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_STRING
|
||||
* PHPExcel\Chart_DataSeriesValues::DATASERIES_TYPE_STRING
|
||||
* Normally used for axis point values
|
||||
* PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_NUMBER
|
||||
* PHPExcel\Chart_DataSeriesValues::DATASERIES_TYPE_NUMBER
|
||||
* Normally used for chart data values
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function setDataType($dataType = self::DATASERIES_TYPE_NUMBER) {
|
||||
if (!in_array($dataType, self::$_dataTypeValues)) {
|
||||
throw new PHPExcel_Chart_Exception('Invalid datatype for chart data series values');
|
||||
throw new Chart_Exception('Invalid datatype for chart data series values');
|
||||
}
|
||||
$this->_dataType = $dataType;
|
||||
|
||||
@ -141,7 +143,7 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
* Set Series Data Source (formula)
|
||||
*
|
||||
* @param string $dataSource
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function setDataSource($dataSource = null, $refreshDataValues = true) {
|
||||
$this->_dataSource = $dataSource;
|
||||
@ -166,7 +168,7 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
* Set Point Marker
|
||||
*
|
||||
* @param string $marker
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function setPointMarker($marker = null) {
|
||||
$this->_marker = $marker;
|
||||
@ -187,7 +189,7 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
* Set Series Format Code
|
||||
*
|
||||
* @param string $formatCode
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function setFormatCode($formatCode = null) {
|
||||
$this->_formatCode = $formatCode;
|
||||
@ -260,10 +262,10 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
* @param boolean $refreshDataSource
|
||||
* TRUE - refresh the value of _dataSource based on the values of $dataValues
|
||||
* FALSE - don't change the value of _dataSource
|
||||
* @return PHPExcel_Chart_DataSeriesValues
|
||||
* @return PHPExcel\Chart_DataSeriesValues
|
||||
*/
|
||||
public function setDataValues($dataValues = array(), $refreshDataSource = TRUE) {
|
||||
$this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($dataValues);
|
||||
$this->_dataValues = Calculation_Functions::flattenArray($dataValues);
|
||||
$this->_pointCount = count($dataValues);
|
||||
|
||||
if ($refreshDataSource) {
|
||||
@ -277,10 +279,10 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
return $var !== NULL;
|
||||
}
|
||||
|
||||
public function refresh(PHPExcel_Worksheet $worksheet, $flatten = TRUE) {
|
||||
public function refresh(Worksheet $worksheet, $flatten = TRUE) {
|
||||
if ($this->_dataSource !== NULL) {
|
||||
$calcEngine = PHPExcel_Calculation::getInstance($worksheet->getParent());
|
||||
$newDataValues = PHPExcel_Calculation::_unwrapResult(
|
||||
$calcEngine = Calculation::getInstance($worksheet->getParent());
|
||||
$newDataValues = Calculation::_unwrapResult(
|
||||
$calcEngine->_calculateFormulaValue(
|
||||
'='.$this->_dataSource,
|
||||
NULL,
|
||||
@ -288,7 +290,7 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
)
|
||||
);
|
||||
if ($flatten) {
|
||||
$this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues);
|
||||
$this->_dataValues = Calculation_Functions::flattenArray($newDataValues);
|
||||
foreach($this->_dataValues as &$dataValue) {
|
||||
if ((!empty($dataValue)) && ($dataValue[0] == '#')) {
|
||||
$dataValue = 0.0;
|
||||
@ -301,9 +303,9 @@ class PHPExcel_Chart_DataSeriesValues
|
||||
list(,$cellRange) = $cellRange;
|
||||
}
|
||||
|
||||
$dimensions = PHPExcel_Cell::rangeDimension(str_replace('$','',$cellRange));
|
||||
$dimensions = Cell::rangeDimension(str_replace('$','',$cellRange));
|
||||
if (($dimensions[0] == 1) || ($dimensions[1] == 1)) {
|
||||
$this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues);
|
||||
$this->_dataValues = Calculation_Functions::flattenArray($newDataValues);
|
||||
} else {
|
||||
$newArray = array_values(array_shift($newDataValues));
|
||||
foreach($newArray as $i => $newDataSet) {
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_Exception
|
||||
* PHPExcel\Chart_Exception
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_Exception extends PHPExcel_Exception {
|
||||
class Chart_Exception extends Exception {
|
||||
/**
|
||||
* Error handler callback
|
||||
*
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_Layout
|
||||
* PHPExcel\Chart_Layout
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_Layout
|
||||
class Chart_Layout
|
||||
{
|
||||
/**
|
||||
* layoutTarget
|
||||
@ -141,7 +143,7 @@ class PHPExcel_Chart_Layout
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart_Layout
|
||||
* Create a new PHPExcel\Chart_Layout
|
||||
*/
|
||||
public function __construct($layout=array())
|
||||
{
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_Legend
|
||||
* PHPExcel\Chart_Legend
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_Legend
|
||||
class Chart_Legend
|
||||
{
|
||||
/** Legend positions */
|
||||
const xlLegendPositionBottom = -4107; // Below the chart.
|
||||
@ -74,15 +76,15 @@ class PHPExcel_Chart_Legend
|
||||
/**
|
||||
* Legend Layout
|
||||
*
|
||||
* @var PHPExcel_Chart_Layout
|
||||
* @var PHPExcel\Chart_Layout
|
||||
*/
|
||||
private $_layout = NULL;
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart_Legend
|
||||
* Create a new PHPExcel\Chart_Legend
|
||||
*/
|
||||
public function __construct($position = self::POSITION_RIGHT, PHPExcel_Chart_Layout $layout = NULL, $overlay = FALSE)
|
||||
public function __construct($position = self::POSITION_RIGHT, Chart_Layout $layout = NULL, $overlay = FALSE)
|
||||
{
|
||||
$this->setPosition($position);
|
||||
$this->_layout = $layout;
|
||||
@ -162,7 +164,7 @@ class PHPExcel_Chart_Legend
|
||||
/**
|
||||
* Get Layout
|
||||
*
|
||||
* @return PHPExcel_Chart_Layout
|
||||
* @return PHPExcel\Chart_Layout
|
||||
*/
|
||||
public function getLayout() {
|
||||
return $this->_layout;
|
||||
|
@ -19,40 +19,42 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_PlotArea
|
||||
* PHPExcel\Chart_PlotArea
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_PlotArea
|
||||
class Chart_PlotArea
|
||||
{
|
||||
/**
|
||||
* PlotArea Layout
|
||||
*
|
||||
* @var PHPExcel_Chart_Layout
|
||||
* @var PHPExcel\Chart_Layout
|
||||
*/
|
||||
private $_layout = null;
|
||||
|
||||
/**
|
||||
* Plot Series
|
||||
*
|
||||
* @var array of PHPExcel_Chart_DataSeries
|
||||
* @var array of PHPExcel\Chart_DataSeries
|
||||
*/
|
||||
private $_plotSeries = array();
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart_PlotArea
|
||||
* Create a new PHPExcel\Chart_PlotArea
|
||||
*/
|
||||
public function __construct(PHPExcel_Chart_Layout $layout = null, $plotSeries = array())
|
||||
public function __construct(Chart_Layout $layout = null, $plotSeries = array())
|
||||
{
|
||||
$this->_layout = $layout;
|
||||
$this->_plotSeries = $plotSeries;
|
||||
@ -61,7 +63,7 @@ class PHPExcel_Chart_PlotArea
|
||||
/**
|
||||
* Get Layout
|
||||
*
|
||||
* @return PHPExcel_Chart_Layout
|
||||
* @return PHPExcel\Chart_Layout
|
||||
*/
|
||||
public function getLayout() {
|
||||
return $this->_layout;
|
||||
@ -70,7 +72,7 @@ class PHPExcel_Chart_PlotArea
|
||||
/**
|
||||
* Get Number of Plot Groups
|
||||
*
|
||||
* @return array of PHPExcel_Chart_DataSeries
|
||||
* @return array of PHPExcel\Chart_DataSeries
|
||||
*/
|
||||
public function getPlotGroupCount() {
|
||||
return count($this->_plotSeries);
|
||||
@ -92,7 +94,7 @@ class PHPExcel_Chart_PlotArea
|
||||
/**
|
||||
* Get Plot Series
|
||||
*
|
||||
* @return array of PHPExcel_Chart_DataSeries
|
||||
* @return array of PHPExcel\Chart_DataSeries
|
||||
*/
|
||||
public function getPlotGroup() {
|
||||
return $this->_plotSeries;
|
||||
@ -101,7 +103,7 @@ class PHPExcel_Chart_PlotArea
|
||||
/**
|
||||
* Get Plot Series by Index
|
||||
*
|
||||
* @return PHPExcel_Chart_DataSeries
|
||||
* @return PHPExcel\Chart_DataSeries
|
||||
*/
|
||||
public function getPlotGroupByIndex($index) {
|
||||
return $this->_plotSeries[$index];
|
||||
@ -110,13 +112,13 @@ class PHPExcel_Chart_PlotArea
|
||||
/**
|
||||
* Set Plot Series
|
||||
*
|
||||
* @param [PHPExcel_Chart_DataSeries]
|
||||
* @param [PHPExcel\Chart_DataSeries]
|
||||
*/
|
||||
public function setPlotSeries($plotSeries = array()) {
|
||||
$this->_plotSeries = $plotSeries;
|
||||
}
|
||||
|
||||
public function refresh(PHPExcel_Worksheet $worksheet) {
|
||||
public function refresh(Worksheet $worksheet) {
|
||||
foreach($this->_plotSeries as $plotSeries) {
|
||||
$plotSeries->refresh($worksheet);
|
||||
}
|
||||
|
@ -20,24 +20,25 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart_Renderer
|
||||
* @package PHPExcel\Chart_Renderer
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
require_once(PHPExcel_Settings::getChartRendererPath().'/jpgraph.php');
|
||||
require_once(Settings::getChartRendererPath() . '/jpgraph.php');
|
||||
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_Renderer_jpgraph
|
||||
* PHPExcel\Chart_Renderer_jpgraph
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart_Renderer
|
||||
* @package PHPExcel\Chart_Renderer
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_Renderer_jpgraph
|
||||
class Chart_Renderer_jpgraph
|
||||
{
|
||||
private static $_width = 640;
|
||||
|
||||
@ -117,7 +118,7 @@ class PHPExcel_Chart_Renderer_jpgraph
|
||||
} else {
|
||||
// Format labels according to any formatting code
|
||||
if (!is_null($datasetLabelFormatCode)) {
|
||||
$datasetLabels[$i] = PHPExcel_Style_NumberFormat::toFormattedString($datasetLabel,$datasetLabelFormatCode);
|
||||
$datasetLabels[$i] = Style_NumberFormat::toFormattedString($datasetLabel,$datasetLabelFormatCode);
|
||||
}
|
||||
}
|
||||
++$testCurrentIndex;
|
||||
@ -826,12 +827,12 @@ class PHPExcel_Chart_Renderer_jpgraph
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart_Renderer_jpgraph
|
||||
* Create a new PHPExcel\Chart_Renderer_jpgraph
|
||||
*/
|
||||
public function __construct(PHPExcel_Chart $chart)
|
||||
public function __construct(Chart $chart)
|
||||
{
|
||||
$this->_graph = null;
|
||||
$this->_chart = $chart;
|
||||
} // function __construct()
|
||||
|
||||
} // PHPExcel_Chart_Renderer_jpgraph
|
||||
}
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Chart_Title
|
||||
* PHPExcel\Chart_Title
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Chart
|
||||
* @package PHPExcel\Chart
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Chart_Title
|
||||
class Chart_Title
|
||||
{
|
||||
|
||||
/**
|
||||
@ -46,14 +48,14 @@ class PHPExcel_Chart_Title
|
||||
/**
|
||||
* Title Layout
|
||||
*
|
||||
* @var PHPExcel_Chart_Layout
|
||||
* @var PHPExcel\Chart_Layout
|
||||
*/
|
||||
private $_layout = null;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Chart_Title
|
||||
* Create a new PHPExcel\Chart_Title
|
||||
*/
|
||||
public function __construct($caption = null, PHPExcel_Chart_Layout $layout = null)
|
||||
public function __construct($caption = null, Chart_Layout $layout = null)
|
||||
{
|
||||
$this->_caption = $caption;
|
||||
$this->_layout = $layout;
|
||||
@ -80,7 +82,7 @@ class PHPExcel_Chart_Title
|
||||
/**
|
||||
* Get Layout
|
||||
*
|
||||
* @return PHPExcel_Chart_Layout
|
||||
* @return PHPExcel\Chart_Layout
|
||||
*/
|
||||
public function getLayout() {
|
||||
return $this->_layout;
|
||||
|
@ -26,14 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Comment
|
||||
* PHPExcel\Comment
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
class Comment implements IComparable
|
||||
{
|
||||
/**
|
||||
* Author
|
||||
@ -45,7 +47,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
/**
|
||||
* Rich text comment
|
||||
*
|
||||
* @var PHPExcel_RichText
|
||||
* @var PHPExcel\RichText
|
||||
*/
|
||||
private $_text;
|
||||
|
||||
@ -87,7 +89,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
/**
|
||||
* Comment fill color
|
||||
*
|
||||
* @var PHPExcel_Style_Color
|
||||
* @var PHPExcel\Style_Color
|
||||
*/
|
||||
private $_fillColor;
|
||||
|
||||
@ -99,17 +101,17 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
private $_alignment;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Comment
|
||||
* Create a new PHPExcel\Comment
|
||||
*
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// Initialise variables
|
||||
$this->_author = 'Author';
|
||||
$this->_text = new PHPExcel_RichText();
|
||||
$this->_fillColor = new PHPExcel_Style_Color('FFFFFFE1');
|
||||
$this->_alignment = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL;
|
||||
$this->_text = new RichText();
|
||||
$this->_fillColor = new Style_Color('FFFFFFE1');
|
||||
$this->_alignment = Style_Alignment::HORIZONTAL_GENERAL;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -125,7 +127,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
* Set Author
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_Comment
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setAuthor($pValue = '') {
|
||||
$this->_author = $pValue;
|
||||
@ -135,7 +137,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
/**
|
||||
* Get Rich text comment
|
||||
*
|
||||
* @return PHPExcel_RichText
|
||||
* @return PHPExcel\RichText
|
||||
*/
|
||||
public function getText() {
|
||||
return $this->_text;
|
||||
@ -144,10 +146,10 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
/**
|
||||
* Set Rich text comment
|
||||
*
|
||||
* @param PHPExcel_RichText $pValue
|
||||
* @return PHPExcel_Comment
|
||||
* @param PHPExcel\RichText $pValue
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setText(PHPExcel_RichText $pValue) {
|
||||
public function setText(RichText $pValue) {
|
||||
$this->_text = $pValue;
|
||||
return $this;
|
||||
}
|
||||
@ -165,7 +167,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
* Set comment width (CSS style, i.e. XXpx or YYpt)
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Comment
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setWidth($value = '96pt') {
|
||||
$this->_width = $value;
|
||||
@ -185,7 +187,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
* Set comment height (CSS style, i.e. XXpx or YYpt)
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Comment
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setHeight($value = '55.5pt') {
|
||||
$this->_height = $value;
|
||||
@ -205,7 +207,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
* Set left margin (CSS style, i.e. XXpx or YYpt)
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Comment
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setMarginLeft($value = '59.25pt') {
|
||||
$this->_marginLeft = $value;
|
||||
@ -225,7 +227,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
* Set top margin (CSS style, i.e. XXpx or YYpt)
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_Comment
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setMarginTop($value = '1.5pt') {
|
||||
$this->_marginTop = $value;
|
||||
@ -245,7 +247,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
* Set comment default visibility
|
||||
*
|
||||
* @param boolean $value
|
||||
* @return PHPExcel_Comment
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setVisible($value = false) {
|
||||
$this->_visible = $value;
|
||||
@ -255,7 +257,7 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
/**
|
||||
* Get fill color
|
||||
*
|
||||
* @return PHPExcel_Style_Color
|
||||
* @return PHPExcel\Style_Color
|
||||
*/
|
||||
public function getFillColor() {
|
||||
return $this->_fillColor;
|
||||
@ -265,9 +267,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable
|
||||
* Set Alignment
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_Comment
|
||||
* @return PHPExcel\Comment
|
||||
*/
|
||||
public function setAlignment($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) {
|
||||
public function setAlignment($pValue = Style_Alignment::HORIZONTAL_GENERAL) {
|
||||
$this->_alignment = $pValue;
|
||||
return $this;
|
||||
}
|
||||
|
@ -26,14 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_DocumentProperties
|
||||
* PHPExcel\DocumentProperties
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_DocumentProperties
|
||||
class DocumentProperties
|
||||
{
|
||||
/** constants */
|
||||
const PROPERTY_TYPE_BOOLEAN = 'b';
|
||||
@ -129,7 +131,7 @@ class PHPExcel_DocumentProperties
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_DocumentProperties
|
||||
* Create a new PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
@ -152,7 +154,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Creator
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setCreator($pValue = '') {
|
||||
$this->_creator = $pValue;
|
||||
@ -172,7 +174,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Last Modified By
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setLastModifiedBy($pValue = '') {
|
||||
$this->_lastModifiedBy = $pValue;
|
||||
@ -192,7 +194,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Created
|
||||
*
|
||||
* @param datetime $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setCreated($pValue = null) {
|
||||
if ($pValue === NULL) {
|
||||
@ -222,7 +224,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Modified
|
||||
*
|
||||
* @param datetime $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setModified($pValue = null) {
|
||||
if ($pValue === NULL) {
|
||||
@ -252,7 +254,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Title
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setTitle($pValue = '') {
|
||||
$this->_title = $pValue;
|
||||
@ -272,7 +274,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Description
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setDescription($pValue = '') {
|
||||
$this->_description = $pValue;
|
||||
@ -292,7 +294,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Subject
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setSubject($pValue = '') {
|
||||
$this->_subject = $pValue;
|
||||
@ -312,7 +314,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Keywords
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setKeywords($pValue = '') {
|
||||
$this->_keywords = $pValue;
|
||||
@ -332,7 +334,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Category
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setCategory($pValue = '') {
|
||||
$this->_category = $pValue;
|
||||
@ -352,7 +354,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Company
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setCompany($pValue = '') {
|
||||
$this->_company = $pValue;
|
||||
@ -372,7 +374,7 @@ class PHPExcel_DocumentProperties
|
||||
* Set Manager
|
||||
*
|
||||
* @param string $pValue
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setManager($pValue = '') {
|
||||
$this->_manager = $pValue;
|
||||
@ -435,7 +437,7 @@ class PHPExcel_DocumentProperties
|
||||
* 's' : String
|
||||
* 'd' : Date/Time
|
||||
* 'b' : Boolean
|
||||
* @return PHPExcel_DocumentProperties
|
||||
* @return PHPExcel\DocumentProperties
|
||||
*/
|
||||
public function setCustomProperty($propertyName,$propertyValue='',$propertyType=NULL) {
|
||||
if (($propertyType === NULL) || (!in_array($propertyType,array(self::PROPERTY_TYPE_INTEGER,
|
||||
|
@ -26,14 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_DocumentSecurity
|
||||
* PHPExcel\DocumentSecurity
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_DocumentSecurity
|
||||
class DocumentSecurity
|
||||
{
|
||||
/**
|
||||
* LockRevision
|
||||
@ -71,7 +73,7 @@ class PHPExcel_DocumentSecurity
|
||||
private $_workbookPassword;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_DocumentSecurity
|
||||
* Create a new PHPExcel\DocumentSecurity
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
@ -107,7 +109,7 @@ class PHPExcel_DocumentSecurity
|
||||
* Set LockRevision
|
||||
*
|
||||
* @param boolean $pValue
|
||||
* @return PHPExcel_DocumentSecurity
|
||||
* @return PHPExcel\DocumentSecurity
|
||||
*/
|
||||
function setLockRevision($pValue = false) {
|
||||
$this->_lockRevision = $pValue;
|
||||
@ -127,7 +129,7 @@ class PHPExcel_DocumentSecurity
|
||||
* Set LockStructure
|
||||
*
|
||||
* @param boolean $pValue
|
||||
* @return PHPExcel_DocumentSecurity
|
||||
* @return PHPExcel\DocumentSecurity
|
||||
*/
|
||||
function setLockStructure($pValue = false) {
|
||||
$this->_lockStructure = $pValue;
|
||||
@ -147,7 +149,7 @@ class PHPExcel_DocumentSecurity
|
||||
* Set LockWindows
|
||||
*
|
||||
* @param boolean $pValue
|
||||
* @return PHPExcel_DocumentSecurity
|
||||
* @return PHPExcel\DocumentSecurity
|
||||
*/
|
||||
function setLockWindows($pValue = false) {
|
||||
$this->_lockWindows = $pValue;
|
||||
@ -168,11 +170,11 @@ class PHPExcel_DocumentSecurity
|
||||
*
|
||||
* @param string $pValue
|
||||
* @param boolean $pAlreadyHashed If the password has already been hashed, set this to true
|
||||
* @return PHPExcel_DocumentSecurity
|
||||
* @return PHPExcel\DocumentSecurity
|
||||
*/
|
||||
function setRevisionsPassword($pValue = '', $pAlreadyHashed = false) {
|
||||
if (!$pAlreadyHashed) {
|
||||
$pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue);
|
||||
$pValue = Shared_PasswordHasher::hashPassword($pValue);
|
||||
}
|
||||
$this->_revisionsPassword = $pValue;
|
||||
return $this;
|
||||
@ -192,11 +194,11 @@ class PHPExcel_DocumentSecurity
|
||||
*
|
||||
* @param string $pValue
|
||||
* @param boolean $pAlreadyHashed If the password has already been hashed, set this to true
|
||||
* @return PHPExcel_DocumentSecurity
|
||||
* @return PHPExcel\DocumentSecurity
|
||||
*/
|
||||
function setWorkbookPassword($pValue = '', $pAlreadyHashed = false) {
|
||||
if (!$pAlreadyHashed) {
|
||||
$pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue);
|
||||
$pValue = Shared_PasswordHasher::hashPassword($pValue);
|
||||
}
|
||||
$this->_workbookPassword = $pValue;
|
||||
return $this;
|
||||
|
@ -26,14 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Exception
|
||||
* PHPExcel\Exception
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Exception extends Exception {
|
||||
class Exception extends \Exception {
|
||||
/**
|
||||
* Error handler callback
|
||||
*
|
||||
|
@ -26,14 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_HashTable
|
||||
* PHPExcel\HashTable
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_HashTable
|
||||
class HashTable
|
||||
{
|
||||
/**
|
||||
* HashTable elements
|
||||
@ -50,10 +52,10 @@ class PHPExcel_HashTable
|
||||
public $_keyMap = array();
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_HashTable
|
||||
* Create a new PHPExcel\HashTable
|
||||
*
|
||||
* @param PHPExcel_IComparable[] $pSource Optional source array to create HashTable from
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\IComparable[] $pSource Optional source array to create HashTable from
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function __construct($pSource = null)
|
||||
{
|
||||
@ -66,15 +68,15 @@ class PHPExcel_HashTable
|
||||
/**
|
||||
* Add HashTable items from source
|
||||
*
|
||||
* @param PHPExcel_IComparable[] $pSource Source array to create HashTable from
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\IComparable[] $pSource Source array to create HashTable from
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function addFromSource($pSource = null) {
|
||||
// Check if an array was passed
|
||||
if ($pSource == null) {
|
||||
return;
|
||||
} else if (!is_array($pSource)) {
|
||||
throw new PHPExcel_Exception('Invalid array parameter passed.');
|
||||
throw new Exception('Invalid array parameter passed.');
|
||||
}
|
||||
|
||||
foreach ($pSource as $item) {
|
||||
@ -85,10 +87,10 @@ class PHPExcel_HashTable
|
||||
/**
|
||||
* Add HashTable item
|
||||
*
|
||||
* @param PHPExcel_IComparable $pSource Item to add
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\IComparable $pSource Item to add
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function add(PHPExcel_IComparable $pSource = null) {
|
||||
public function add(IComparable $pSource = null) {
|
||||
$hash = $pSource->getHashCode();
|
||||
if (!isset($this->_items[$hash])) {
|
||||
$this->_items[$hash] = $pSource;
|
||||
@ -99,10 +101,10 @@ class PHPExcel_HashTable
|
||||
/**
|
||||
* Remove HashTable item
|
||||
*
|
||||
* @param PHPExcel_IComparable $pSource Item to remove
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\IComparable $pSource Item to remove
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function remove(PHPExcel_IComparable $pSource = null) {
|
||||
public function remove(IComparable $pSource = null) {
|
||||
$hash = $pSource->getHashCode();
|
||||
if (isset($this->_items[$hash])) {
|
||||
unset($this->_items[$hash]);
|
||||
@ -153,7 +155,7 @@ class PHPExcel_HashTable
|
||||
* Get by index
|
||||
*
|
||||
* @param int $pIndex
|
||||
* @return PHPExcel_IComparable
|
||||
* @return PHPExcel\IComparable
|
||||
*
|
||||
*/
|
||||
public function getByIndex($pIndex = 0) {
|
||||
@ -168,7 +170,7 @@ class PHPExcel_HashTable
|
||||
* Get by hashcode
|
||||
*
|
||||
* @param string $pHashCode
|
||||
* @return PHPExcel_IComparable
|
||||
* @return PHPExcel\IComparable
|
||||
*
|
||||
*/
|
||||
public function getByHashCode($pHashCode = '') {
|
||||
@ -182,7 +184,7 @@ class PHPExcel_HashTable
|
||||
/**
|
||||
* HashTable to array
|
||||
*
|
||||
* @return PHPExcel_IComparable[]
|
||||
* @return PHPExcel\IComparable[]
|
||||
*/
|
||||
public function toArray() {
|
||||
return $this->_items;
|
||||
|
@ -24,14 +24,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_IComparable
|
||||
* PHPExcel\IComparable
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
interface PHPExcel_IComparable
|
||||
interface IComparable
|
||||
{
|
||||
/**
|
||||
* Get hash code
|
||||
|
@ -26,23 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_IOFactory
|
||||
* PHPExcel\IOFactory
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_IOFactory
|
||||
class IOFactory
|
||||
{
|
||||
/**
|
||||
* Search locations
|
||||
@ -52,8 +45,8 @@ class PHPExcel_IOFactory
|
||||
* @static
|
||||
*/
|
||||
private static $_searchLocations = array(
|
||||
array( 'type' => 'IWriter', 'path' => 'PHPExcel/Writer/{0}.php', 'class' => 'PHPExcel_Writer_{0}' ),
|
||||
array( 'type' => 'IReader', 'path' => 'PHPExcel/Reader/{0}.php', 'class' => 'PHPExcel_Reader_{0}' )
|
||||
array( 'type' => 'IWriter', 'path' => 'PHPExcel/Writer/{0}.php', 'class' => 'Writer_{0}' ),
|
||||
array( 'type' => 'IReader', 'path' => 'PHPExcel/Reader/{0}.php', 'class' => 'Reader_{0}' )
|
||||
);
|
||||
|
||||
/**
|
||||
@ -75,7 +68,7 @@ class PHPExcel_IOFactory
|
||||
);
|
||||
|
||||
/**
|
||||
* Private constructor for PHPExcel_IOFactory
|
||||
* Private constructor for PHPExcel\IOFactory
|
||||
*/
|
||||
private function __construct() { }
|
||||
|
||||
@ -96,13 +89,13 @@ class PHPExcel_IOFactory
|
||||
* @static
|
||||
* @access public
|
||||
* @param array $value
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public static function setSearchLocations($value) {
|
||||
if (is_array($value)) {
|
||||
self::$_searchLocations = $value;
|
||||
} else {
|
||||
throw new PHPExcel_Reader_Exception('Invalid parameter passed.');
|
||||
throw new Reader_Exception('Invalid parameter passed.');
|
||||
}
|
||||
} // function setSearchLocations()
|
||||
|
||||
@ -113,30 +106,31 @@ class PHPExcel_IOFactory
|
||||
* @access public
|
||||
* @param string $type Example: IWriter
|
||||
* @param string $location Example: PHPExcel/Writer/{0}.php
|
||||
* @param string $classname Example: PHPExcel_Writer_{0}
|
||||
* @param string $classname Example: PHPExcel\Writer_{0}
|
||||
*/
|
||||
public static function addSearchLocation($type = '', $location = '', $classname = '') {
|
||||
self::$_searchLocations[] = array( 'type' => $type, 'path' => $location, 'class' => $classname );
|
||||
} // function addSearchLocation()
|
||||
|
||||
/**
|
||||
* Create PHPExcel_Writer_IWriter
|
||||
* Create PHPExcel\Writer_IWriter
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
* @param PHPExcel $phpExcel
|
||||
* @param string $writerType Example: Excel2007
|
||||
* @return PHPExcel_Writer_IWriter
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @return PHPExcel\Writer_IWriter
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public static function createWriter(PHPExcel $phpExcel, $writerType = '') {
|
||||
public static function createWriter(Workbook $phpExcel, $writerType = '') {
|
||||
// Search type
|
||||
$searchType = 'IWriter';
|
||||
|
||||
// Include class
|
||||
foreach (self::$_searchLocations as $searchLocation) {
|
||||
if ($searchLocation['type'] == $searchType) {
|
||||
$className = str_replace('{0}', $writerType, $searchLocation['class']);
|
||||
|
||||
if ($searchLocation['type'] == $searchType) {
|
||||
$className = __NAMESPACE__ . '\\' . str_replace('{0}', $writerType, $searchLocation['class']);
|
||||
|
||||
$instance = new $className($phpExcel);
|
||||
if ($instance !== NULL) {
|
||||
@ -146,17 +140,17 @@ class PHPExcel_IOFactory
|
||||
}
|
||||
|
||||
// Nothing found...
|
||||
throw new PHPExcel_Reader_Exception("No $searchType found for type $writerType");
|
||||
throw new Reader_Exception("No $searchType found for type $writerType");
|
||||
} // function createWriter()
|
||||
|
||||
/**
|
||||
* Create PHPExcel_Reader_IReader
|
||||
* Create PHPExcel\Reader_IReader
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
* @param string $readerType Example: Excel2007
|
||||
* @return PHPExcel_Reader_IReader
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @return PHPExcel\Reader_IReader
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public static function createReader($readerType = '') {
|
||||
// Search type
|
||||
@ -175,17 +169,17 @@ class PHPExcel_IOFactory
|
||||
}
|
||||
|
||||
// Nothing found...
|
||||
throw new PHPExcel_Reader_Exception("No $searchType found for type $readerType");
|
||||
throw new Reader_Exception("No $searchType found for type $readerType");
|
||||
} // function createReader()
|
||||
|
||||
/**
|
||||
* Loads PHPExcel from file using automatic PHPExcel_Reader_IReader resolution
|
||||
* Loads PHPExcel from file using automatic PHPExcel\Reader_IReader resolution
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
* @param string $pFilename The name of the spreadsheet file
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public static function load($pFilename) {
|
||||
$reader = self::createReaderForFile($pFilename);
|
||||
@ -193,13 +187,13 @@ class PHPExcel_IOFactory
|
||||
} // function load()
|
||||
|
||||
/**
|
||||
* Identify file type using automatic PHPExcel_Reader_IReader resolution
|
||||
* Identify file type using automatic PHPExcel\Reader_IReader resolution
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
* @param string $pFilename The name of the spreadsheet file to identify
|
||||
* @return string
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public static function identify($pFilename) {
|
||||
$reader = self::createReaderForFile($pFilename);
|
||||
@ -210,13 +204,13 @@ class PHPExcel_IOFactory
|
||||
} // function identify()
|
||||
|
||||
/**
|
||||
* Create PHPExcel_Reader_IReader for file using automatic PHPExcel_Reader_IReader resolution
|
||||
* Create PHPExcel\Reader_IReader for file using automatic PHPExcel\Reader_IReader resolution
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
* @param string $pFilename The name of the spreadsheet file
|
||||
* @return PHPExcel_Reader_IReader
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @return PHPExcel\Reader_IReader
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public static function createReaderForFile($pFilename) {
|
||||
|
||||
@ -283,6 +277,6 @@ class PHPExcel_IOFactory
|
||||
}
|
||||
}
|
||||
|
||||
throw new PHPExcel_Reader_Exception('Unable to identify a reader for this file');
|
||||
throw new Reader_Exception('Unable to identify a reader for this file');
|
||||
} // function createReaderForFile()
|
||||
}
|
||||
|
@ -26,14 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_NamedRange
|
||||
* PHPExcel\NamedRange
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_NamedRange
|
||||
class NamedRange
|
||||
{
|
||||
/**
|
||||
* Range name
|
||||
@ -45,7 +47,7 @@ class PHPExcel_NamedRange
|
||||
/**
|
||||
* Worksheet on which the named range can be resolved
|
||||
*
|
||||
* @var PHPExcel_Worksheet
|
||||
* @var PHPExcel\Worksheet
|
||||
*/
|
||||
private $_worksheet;
|
||||
|
||||
@ -66,7 +68,7 @@ class PHPExcel_NamedRange
|
||||
/**
|
||||
* Scope
|
||||
*
|
||||
* @var PHPExcel_Worksheet
|
||||
* @var PHPExcel\Worksheet
|
||||
*/
|
||||
private $_scope;
|
||||
|
||||
@ -74,17 +76,17 @@ class PHPExcel_NamedRange
|
||||
* Create a new NamedRange
|
||||
*
|
||||
* @param string $pName
|
||||
* @param PHPExcel_Worksheet $pWorksheet
|
||||
* @param PHPExcel\Worksheet $pWorksheet
|
||||
* @param string $pRange
|
||||
* @param bool $pLocalOnly
|
||||
* @param PHPExcel_Worksheet|null $pScope Scope. Only applies when $pLocalOnly = true. Null for global scope.
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Worksheet|null $pScope Scope. Only applies when $pLocalOnly = true. Null for global scope.
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function __construct($pName = null, PHPExcel_Worksheet $pWorksheet, $pRange = 'A1', $pLocalOnly = false, $pScope = null)
|
||||
public function __construct($pName = null, Worksheet $pWorksheet, $pRange = 'A1', $pLocalOnly = false, $pScope = null)
|
||||
{
|
||||
// Validate data
|
||||
if (($pName === NULL) || ($pWorksheet === NULL) || ($pRange === NULL)) {
|
||||
throw new PHPExcel_Exception('Parameters can not be null.');
|
||||
throw new Exception('Parameters can not be null.');
|
||||
}
|
||||
|
||||
// Set local members
|
||||
@ -109,7 +111,7 @@ class PHPExcel_NamedRange
|
||||
* Set name
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_NamedRange
|
||||
* @return PHPExcel\NamedRange
|
||||
*/
|
||||
public function setName($value = null) {
|
||||
if ($value !== NULL) {
|
||||
@ -128,7 +130,7 @@ class PHPExcel_NamedRange
|
||||
|
||||
// New title
|
||||
$newTitle = $this->_name;
|
||||
PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->_worksheet->getParent(), $oldTitle, $newTitle);
|
||||
ReferenceHelper::getInstance()->updateNamedFormulas($this->_worksheet->getParent(), $oldTitle, $newTitle);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
@ -136,7 +138,7 @@ class PHPExcel_NamedRange
|
||||
/**
|
||||
* Get worksheet
|
||||
*
|
||||
* @return PHPExcel_Worksheet
|
||||
* @return PHPExcel\Worksheet
|
||||
*/
|
||||
public function getWorksheet() {
|
||||
return $this->_worksheet;
|
||||
@ -145,12 +147,12 @@ class PHPExcel_NamedRange
|
||||
/**
|
||||
* Set worksheet
|
||||
*
|
||||
* @param PHPExcel_Worksheet $value
|
||||
* @return PHPExcel_NamedRange
|
||||
* @param PHPExcel\Worksheet $worksheet
|
||||
* @return PHPExcel\NamedRange
|
||||
*/
|
||||
public function setWorksheet(PHPExcel_Worksheet $value = null) {
|
||||
if ($value !== NULL) {
|
||||
$this->_worksheet = $value;
|
||||
public function setWorksheet(Worksheet $worksheet = null) {
|
||||
if ($worksheet !== NULL) {
|
||||
$this->_worksheet = $worksheet;
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
@ -168,7 +170,7 @@ class PHPExcel_NamedRange
|
||||
* Set range
|
||||
*
|
||||
* @param string $value
|
||||
* @return PHPExcel_NamedRange
|
||||
* @return PHPExcel\NamedRange
|
||||
*/
|
||||
public function setRange($value = null) {
|
||||
if ($value !== NULL) {
|
||||
@ -190,7 +192,7 @@ class PHPExcel_NamedRange
|
||||
* Set localOnly
|
||||
*
|
||||
* @param bool $value
|
||||
* @return PHPExcel_NamedRange
|
||||
* @return PHPExcel\NamedRange
|
||||
*/
|
||||
public function setLocalOnly($value = false) {
|
||||
$this->_localOnly = $value;
|
||||
@ -201,7 +203,7 @@ class PHPExcel_NamedRange
|
||||
/**
|
||||
* Get scope
|
||||
*
|
||||
* @return PHPExcel_Worksheet|null
|
||||
* @return PHPExcel\Worksheet|NULL
|
||||
*/
|
||||
public function getScope() {
|
||||
return $this->_scope;
|
||||
@ -210,12 +212,12 @@ class PHPExcel_NamedRange
|
||||
/**
|
||||
* Set scope
|
||||
*
|
||||
* @param PHPExcel_Worksheet|null $value
|
||||
* @return PHPExcel_NamedRange
|
||||
* @param PHPExcel\Worksheet|NULL $worksheet
|
||||
* @return PHPExcel\NamedRange
|
||||
*/
|
||||
public function setScope(PHPExcel_Worksheet $value = null) {
|
||||
$this->_scope = $value;
|
||||
$this->_localOnly = ($value == null) ? false : true;
|
||||
public function setScope(Worksheet $worksheet = null) {
|
||||
$this->_scope = $worksheet;
|
||||
$this->_localOnly = ($worksheet == null) ? false : true;
|
||||
return $this;
|
||||
}
|
||||
|
||||
@ -223,10 +225,10 @@ class PHPExcel_NamedRange
|
||||
* Resolve a named range to a regular cell range
|
||||
*
|
||||
* @param string $pNamedRange Named range
|
||||
* @param PHPExcel_Worksheet|null $pSheet Scope. Use null for global scope
|
||||
* @return PHPExcel_NamedRange
|
||||
* @param PHPExcel\Worksheet|null $pSheet Scope. Use null for global scope
|
||||
* @return PHPExcel\NamedRange
|
||||
*/
|
||||
public static function resolveRange($pNamedRange = '', PHPExcel_Worksheet $pSheet) {
|
||||
public static function resolveRange($pNamedRange = '', Worksheet $pSheet) {
|
||||
return $pSheet->getParent()->getNamedRange($pNamedRange, $pSheet);
|
||||
}
|
||||
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Abstract
|
||||
* PHPExcel\Reader_Abstract
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
abstract class Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Read data only?
|
||||
@ -61,9 +63,9 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
protected $_loadSheetsOnly = NULL;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_IReadFilter instance
|
||||
* PHPExcel\Reader_IReadFilter instance
|
||||
*
|
||||
* @var PHPExcel_Reader_IReadFilter
|
||||
* @var PHPExcel\Reader_IReadFilter
|
||||
*/
|
||||
protected $_readFilter = NULL;
|
||||
|
||||
@ -88,7 +90,7 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
*
|
||||
* @param boolean $pValue
|
||||
*
|
||||
* @return PHPExcel_Reader_IReader
|
||||
* @return PHPExcel\Reader_IReader
|
||||
*/
|
||||
public function setReadDataOnly($pValue = FALSE) {
|
||||
$this->_readDataOnly = $pValue;
|
||||
@ -115,7 +117,7 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
*
|
||||
* @param boolean $pValue
|
||||
*
|
||||
* @return PHPExcel_Reader_IReader
|
||||
* @return PHPExcel\Reader_IReader
|
||||
*/
|
||||
public function setIncludeCharts($pValue = FALSE) {
|
||||
$this->_includeCharts = (boolean) $pValue;
|
||||
@ -141,7 +143,7 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
* This should be either an array of worksheet names to be loaded, or a string containing a single worksheet name.
|
||||
* If NULL, then it tells the Reader to read all worksheets in the workbook
|
||||
*
|
||||
* @return PHPExcel_Reader_IReader
|
||||
* @return PHPExcel\Reader_IReader
|
||||
*/
|
||||
public function setLoadSheetsOnly($value = NULL)
|
||||
{
|
||||
@ -154,7 +156,7 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
* Set all sheets to load
|
||||
* Tells the Reader to load all worksheets from the workbook.
|
||||
*
|
||||
* @return PHPExcel_Reader_IReader
|
||||
* @return PHPExcel\Reader_IReader
|
||||
*/
|
||||
public function setLoadAllSheets()
|
||||
{
|
||||
@ -165,7 +167,7 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
/**
|
||||
* Read filter
|
||||
*
|
||||
* @return PHPExcel_Reader_IReadFilter
|
||||
* @return PHPExcel\Reader_IReadFilter
|
||||
*/
|
||||
public function getReadFilter() {
|
||||
return $this->_readFilter;
|
||||
@ -174,10 +176,10 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
/**
|
||||
* Set read filter
|
||||
*
|
||||
* @param PHPExcel_Reader_IReadFilter $pValue
|
||||
* @return PHPExcel_Reader_IReader
|
||||
* @param PHPExcel\Reader_IReadFilter $pValue
|
||||
* @return PHPExcel\Reader_IReader
|
||||
*/
|
||||
public function setReadFilter(PHPExcel_Reader_IReadFilter $pValue) {
|
||||
public function setReadFilter(Reader_IReadFilter $pValue) {
|
||||
$this->_readFilter = $pValue;
|
||||
return $this;
|
||||
}
|
||||
@ -186,29 +188,29 @@ abstract class PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
* Open file for reading
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
* @return resource
|
||||
*/
|
||||
protected function _openFile($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename) || !is_readable($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
// Open file
|
||||
$this->_fileHandle = fopen($pFilename, 'r');
|
||||
if ($this->_fileHandle === FALSE) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open file " . $pFilename . " for reading.");
|
||||
throw new Reader_Exception("Could not open file " . $pFilename . " for reading.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Can the current PHPExcel_Reader_IReader read the file?
|
||||
* Can the current PHPExcel\Reader_IReader read the file?
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return boolean
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function canRead($pFilename)
|
||||
{
|
||||
|
@ -19,30 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_CSV
|
||||
* PHPExcel\Reader_CSV
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
class Reader_CSV extends Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Input encoding
|
||||
@ -101,10 +94,10 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_CSV
|
||||
* Create a new PHPExcel\Reader_CSV
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
|
||||
$this->_readFilter = new Reader_DefaultReadFilter();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -176,7 +169,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns)
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetInfo($pFilename)
|
||||
{
|
||||
@ -184,7 +177,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
$this->_openFile($pFilename);
|
||||
if (!$this->_isValidFormat()) {
|
||||
fclose ($this->_fileHandle);
|
||||
throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
throw new Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
}
|
||||
$fileHandle = $this->_fileHandle;
|
||||
|
||||
@ -206,7 +199,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
$worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], count($rowData) - 1);
|
||||
}
|
||||
|
||||
$worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']);
|
||||
$worksheetInfo[0]['lastColumnLetter'] = Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']);
|
||||
$worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1;
|
||||
|
||||
// Close file
|
||||
@ -220,12 +213,12 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename)
|
||||
{
|
||||
// Create new PHPExcel
|
||||
$objPHPExcel = new PHPExcel();
|
||||
// Create new PHPExcel Workbook
|
||||
$objPHPExcel = new Workbook();
|
||||
|
||||
// Load into this instance
|
||||
return $this->loadIntoExisting($pFilename, $objPHPExcel);
|
||||
@ -237,7 +230,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
* @param string $pFilename
|
||||
* @param PHPExcel $objPHPExcel
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel)
|
||||
{
|
||||
@ -248,7 +241,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
$this->_openFile($pFilename);
|
||||
if (!$this->_isValidFormat()) {
|
||||
fclose ($this->_fileHandle);
|
||||
throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
throw new Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
}
|
||||
$fileHandle = $this->_fileHandle;
|
||||
|
||||
@ -281,7 +274,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
|
||||
// Convert encoding if necessary
|
||||
if ($this->_inputEncoding !== 'UTF-8') {
|
||||
$rowDatum = PHPExcel_Shared_String::ConvertEncoding($rowDatum, 'UTF-8', $this->_inputEncoding);
|
||||
$rowDatum = Shared_String::ConvertEncoding($rowDatum, 'UTF-8', $this->_inputEncoding);
|
||||
}
|
||||
|
||||
// Set cell value
|
||||
@ -318,7 +311,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
* Set delimiter
|
||||
*
|
||||
* @param string $pValue Delimiter, defaults to ,
|
||||
* @return PHPExcel_Reader_CSV
|
||||
* @return PHPExcel\Reader_CSV
|
||||
*/
|
||||
public function setDelimiter($pValue = ',') {
|
||||
$this->_delimiter = $pValue;
|
||||
@ -338,7 +331,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
* Set enclosure
|
||||
*
|
||||
* @param string $pValue Enclosure, defaults to "
|
||||
* @return PHPExcel_Reader_CSV
|
||||
* @return PHPExcel\Reader_CSV
|
||||
*/
|
||||
public function setEnclosure($pValue = '"') {
|
||||
if ($pValue == '') {
|
||||
@ -361,7 +354,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
* Set line ending
|
||||
*
|
||||
* @param string $pValue Line ending, defaults to OS line ending (PHP_EOL)
|
||||
* @return PHPExcel_Reader_CSV
|
||||
* @return PHPExcel\Reader_CSV
|
||||
*/
|
||||
public function setLineEnding($pValue = PHP_EOL) {
|
||||
$this->_lineEnding = $pValue;
|
||||
@ -381,7 +374,7 @@ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_R
|
||||
* Set sheet index
|
||||
*
|
||||
* @param integer $pValue Sheet index
|
||||
* @return PHPExcel_Reader_CSV
|
||||
* @return PHPExcel\Reader_CSV
|
||||
*/
|
||||
public function setSheetIndex($pValue = 0) {
|
||||
$this->_sheetIndex = $pValue;
|
||||
|
@ -19,30 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_DefaultReadFilter
|
||||
* PHPExcel\Reader_DefaultReadFilter
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_DefaultReadFilter implements PHPExcel_Reader_IReadFilter
|
||||
class Reader_DefaultReadFilter implements Reader_IReadFilter
|
||||
{
|
||||
/**
|
||||
* Should this cell be read?
|
||||
|
@ -19,30 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Excel2003XML
|
||||
* PHPExcel\Reader_Excel2003XML
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
class Reader_Excel2003XML extends Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Formats
|
||||
@ -60,19 +53,19 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_Excel2003XML
|
||||
* Create a new PHPExcel\Reader_Excel2003XML
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
|
||||
$this->_readFilter = new Reader_DefaultReadFilter();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Can the current PHPExcel_Reader_IReader read the file?
|
||||
* Can the current PHPExcel\Reader_IReader read the file?
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return boolean
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function canRead($pFilename)
|
||||
{
|
||||
@ -123,16 +116,16 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
* Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetNames($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
if (!$this->canRead($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
throw new Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
}
|
||||
|
||||
$worksheetNames = array();
|
||||
@ -154,13 +147,13 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns)
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetInfo($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$worksheetInfo = array();
|
||||
@ -210,7 +203,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
}
|
||||
}
|
||||
|
||||
$tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
$tmpInfo['lastColumnLetter'] = Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
$tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1;
|
||||
|
||||
$worksheetInfo[] = $tmpInfo;
|
||||
@ -226,12 +219,12 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename)
|
||||
{
|
||||
// Create new PHPExcel
|
||||
$objPHPExcel = new PHPExcel();
|
||||
// Create new PHPExcel Workbook
|
||||
$objPHPExcel = new Workbook();
|
||||
|
||||
// Load into this instance
|
||||
return $this->loadIntoExisting($pFilename, $objPHPExcel);
|
||||
@ -288,7 +281,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
* @param string $pFilename
|
||||
* @param PHPExcel $objPHPExcel
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel)
|
||||
{
|
||||
@ -296,25 +289,25 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
$toFormats = array('-', ' ');
|
||||
|
||||
$underlineStyles = array (
|
||||
PHPExcel_Style_Font::UNDERLINE_NONE,
|
||||
PHPExcel_Style_Font::UNDERLINE_DOUBLE,
|
||||
PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING,
|
||||
PHPExcel_Style_Font::UNDERLINE_SINGLE,
|
||||
PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING
|
||||
Style_Font::UNDERLINE_NONE,
|
||||
Style_Font::UNDERLINE_DOUBLE,
|
||||
Style_Font::UNDERLINE_DOUBLEACCOUNTING,
|
||||
Style_Font::UNDERLINE_SINGLE,
|
||||
Style_Font::UNDERLINE_SINGLEACCOUNTING
|
||||
);
|
||||
$verticalAlignmentStyles = array (
|
||||
PHPExcel_Style_Alignment::VERTICAL_BOTTOM,
|
||||
PHPExcel_Style_Alignment::VERTICAL_TOP,
|
||||
PHPExcel_Style_Alignment::VERTICAL_CENTER,
|
||||
PHPExcel_Style_Alignment::VERTICAL_JUSTIFY
|
||||
Style_Alignment::VERTICAL_BOTTOM,
|
||||
Style_Alignment::VERTICAL_TOP,
|
||||
Style_Alignment::VERTICAL_CENTER,
|
||||
Style_Alignment::VERTICAL_JUSTIFY
|
||||
);
|
||||
$horizontalAlignmentStyles = array (
|
||||
PHPExcel_Style_Alignment::HORIZONTAL_GENERAL,
|
||||
PHPExcel_Style_Alignment::HORIZONTAL_LEFT,
|
||||
PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,
|
||||
PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
|
||||
PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS,
|
||||
PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY
|
||||
Style_Alignment::HORIZONTAL_GENERAL,
|
||||
Style_Alignment::HORIZONTAL_LEFT,
|
||||
Style_Alignment::HORIZONTAL_RIGHT,
|
||||
Style_Alignment::HORIZONTAL_CENTER,
|
||||
Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS,
|
||||
Style_Alignment::HORIZONTAL_JUSTIFY
|
||||
);
|
||||
|
||||
$timezoneObj = new DateTimeZone('Europe/London');
|
||||
@ -323,11 +316,11 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
if (!$this->canRead($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
throw new Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
}
|
||||
|
||||
$xml = simplexml_load_file($pFilename);
|
||||
@ -378,27 +371,27 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
if (isset($xml->CustomDocumentProperties)) {
|
||||
foreach($xml->CustomDocumentProperties[0] as $propertyName => $propertyValue) {
|
||||
$propertyAttributes = $propertyValue->attributes($namespaces['dt']);
|
||||
$propertyName = preg_replace_callback('/_x([0-9a-z]{4})_/','PHPExcel_Reader_Excel2003XML::_hex2str',$propertyName);
|
||||
$propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_UNKNOWN;
|
||||
$propertyName = preg_replace_callback('/_x([0-9a-z]{4})_/', __NAMESPACE__ . '\Reader_Excel2003XML::_hex2str', $propertyName);
|
||||
$propertyType = DocumentProperties::PROPERTY_TYPE_UNKNOWN;
|
||||
switch((string) $propertyAttributes) {
|
||||
case 'string' :
|
||||
$propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING;
|
||||
$propertyType = DocumentProperties::PROPERTY_TYPE_STRING;
|
||||
$propertyValue = trim($propertyValue);
|
||||
break;
|
||||
case 'boolean' :
|
||||
$propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN;
|
||||
$propertyType = DocumentProperties::PROPERTY_TYPE_BOOLEAN;
|
||||
$propertyValue = (bool) $propertyValue;
|
||||
break;
|
||||
case 'integer' :
|
||||
$propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_INTEGER;
|
||||
$propertyType = DocumentProperties::PROPERTY_TYPE_INTEGER;
|
||||
$propertyValue = intval($propertyValue);
|
||||
break;
|
||||
case 'float' :
|
||||
$propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT;
|
||||
$propertyType = DocumentProperties::PROPERTY_TYPE_FLOAT;
|
||||
$propertyValue = floatval($propertyValue);
|
||||
break;
|
||||
case 'dateTime.tz' :
|
||||
$propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE;
|
||||
$propertyType = DocumentProperties::PROPERTY_TYPE_DATE;
|
||||
$propertyValue = strtotime(trim($propertyValue));
|
||||
break;
|
||||
}
|
||||
@ -448,7 +441,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
// echo $borderStyleKey.' = '.$borderStyleValue.'<br />';
|
||||
switch ($borderStyleKey) {
|
||||
case 'LineStyle' :
|
||||
$thisBorder['style'] = PHPExcel_Style_Border::BORDER_MEDIUM;
|
||||
$thisBorder['style'] = Style_Border::BORDER_MEDIUM;
|
||||
// $thisBorder['style'] = $borderStyleValue;
|
||||
break;
|
||||
case 'Weight' :
|
||||
@ -563,7 +556,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
foreach($worksheet->Table->Column as $columnData) {
|
||||
$columnData_ss = $columnData->attributes($namespaces['ss']);
|
||||
if (isset($columnData_ss['Index'])) {
|
||||
$columnID = PHPExcel_Cell::stringFromColumnIndex($columnData_ss['Index']-1);
|
||||
$columnID = Cell::stringFromColumnIndex($columnData_ss['Index']-1);
|
||||
}
|
||||
if (isset($columnData_ss['Width'])) {
|
||||
$columnWidth = $columnData_ss['Width'];
|
||||
@ -589,7 +582,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
|
||||
$cell_ss = $cell->attributes($namespaces['ss']);
|
||||
if (isset($cell_ss['Index'])) {
|
||||
$columnID = PHPExcel_Cell::stringFromColumnIndex($cell_ss['Index']-1);
|
||||
$columnID = Cell::stringFromColumnIndex($cell_ss['Index']-1);
|
||||
}
|
||||
$cellRange = $columnID.$rowID;
|
||||
|
||||
@ -602,7 +595,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
if ((isset($cell_ss['MergeAcross'])) || (isset($cell_ss['MergeDown']))) {
|
||||
$columnTo = $columnID;
|
||||
if (isset($cell_ss['MergeAcross'])) {
|
||||
$columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cell_ss['MergeAcross'] -1);
|
||||
$columnTo = Cell::stringFromColumnIndex(Cell::columnIndexFromString($columnID) + $cell_ss['MergeAcross'] -1);
|
||||
}
|
||||
$rowTo = $rowID;
|
||||
if (isset($cell_ss['MergeDown'])) {
|
||||
@ -625,7 +618,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
}
|
||||
if (isset($cell->Data)) {
|
||||
$cellValue = $cellData = $cell->Data;
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NULL;
|
||||
$type = Cell_DataType::TYPE_NULL;
|
||||
$cellData_ss = $cellData->attributes($namespaces['ss']);
|
||||
if (isset($cellData_ss['Type'])) {
|
||||
$cellDataType = $cellData_ss['Type'];
|
||||
@ -641,33 +634,33 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
*/
|
||||
case 'String' :
|
||||
$cellValue = self::_convertStringEncoding($cellValue,$this->_charSet);
|
||||
$type = PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
$type = Cell_DataType::TYPE_STRING;
|
||||
break;
|
||||
case 'Number' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
$cellValue = (float) $cellValue;
|
||||
if (floor($cellValue) == $cellValue) {
|
||||
$cellValue = (integer) $cellValue;
|
||||
}
|
||||
break;
|
||||
case 'Boolean' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_BOOL;
|
||||
$type = Cell_DataType::TYPE_BOOL;
|
||||
$cellValue = ($cellValue != 0);
|
||||
break;
|
||||
case 'DateTime' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$cellValue = PHPExcel_Shared_Date::PHPToExcel(strtotime($cellValue));
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
$cellValue = Shared_Date::PHPToExcel(strtotime($cellValue));
|
||||
break;
|
||||
case 'Error' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_ERROR;
|
||||
$type = Cell_DataType::TYPE_ERROR;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($hasCalculatedValue) {
|
||||
// echo 'FORMULA<br />';
|
||||
$type = PHPExcel_Cell_DataType::TYPE_FORMULA;
|
||||
$columnNumber = PHPExcel_Cell::columnIndexFromString($columnID);
|
||||
$type = Cell_DataType::TYPE_FORMULA;
|
||||
$columnNumber = Cell::columnIndexFromString($columnID);
|
||||
if (substr($cellDataFormula,0,3) == 'of:') {
|
||||
$cellDataFormula = substr($cellDataFormula,3);
|
||||
// echo 'Before: ',$cellDataFormula,'<br />';
|
||||
@ -705,7 +698,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
if ($columnReference == '') $columnReference = $columnNumber;
|
||||
// Bracketed C references are relative to the current column
|
||||
if ($columnReference{0} == '[') $columnReference = $columnNumber + trim($columnReference,'[]');
|
||||
$A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
||||
$A1CellReference = Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
||||
$value = substr_replace($value,$A1CellReference,$cellReference[0][1],strlen($cellReference[0][0]));
|
||||
}
|
||||
}
|
||||
@ -785,14 +778,14 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
||||
|
||||
private static function _convertStringEncoding($string,$charset) {
|
||||
if ($charset != 'UTF-8') {
|
||||
return PHPExcel_Shared_String::ConvertEncoding($string,'UTF-8',$charset);
|
||||
return Shared_String::ConvertEncoding($string,'UTF-8',$charset);
|
||||
}
|
||||
return $string;
|
||||
}
|
||||
|
||||
|
||||
private function _parseRichText($is = '') {
|
||||
$value = new PHPExcel_RichText();
|
||||
$value = new RichText();
|
||||
|
||||
$value->createText(self::_convertStringEncoding($is,$this->_charSet));
|
||||
|
||||
|
@ -19,72 +19,65 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Excel2007
|
||||
* PHPExcel\Reader_Excel2007
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
class Reader_Excel2007 extends Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* PHPExcel_ReferenceHelper instance
|
||||
* PHPExcel\ReferenceHelper instance
|
||||
*
|
||||
* @var PHPExcel_ReferenceHelper
|
||||
* @var PHPExcel\ReferenceHelper
|
||||
*/
|
||||
private $_referenceHelper = NULL;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Excel2007_Theme instance
|
||||
* PHPExcel\Reader_Excel2007_Theme instance
|
||||
*
|
||||
* @var PHPExcel_Reader_Excel2007_Theme
|
||||
* @var PHPExcel\Reader_Excel2007_Theme
|
||||
*/
|
||||
private static $_theme = NULL;
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_Excel2007 instance
|
||||
* Create a new PHPExcel\Reader_Excel2007 instance
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
|
||||
$this->_referenceHelper = PHPExcel_ReferenceHelper::getInstance();
|
||||
$this->_readFilter = new Reader_DefaultReadFilter();
|
||||
$this->_referenceHelper = ReferenceHelper::getInstance();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Can the current PHPExcel_Reader_IReader read the file?
|
||||
* Can the current PHPExcel\Reader_IReader read the file?
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return boolean
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function canRead($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
// Check if zip class exists
|
||||
if (!class_exists('ZipArchive',FALSE)) {
|
||||
throw new PHPExcel_Reader_Exception("ZipArchive library is not enabled");
|
||||
throw new Reader_Exception("ZipArchive library is not enabled");
|
||||
}
|
||||
|
||||
$xl = false;
|
||||
@ -116,13 +109,13 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
* Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetNames($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$worksheetNames = array();
|
||||
@ -160,13 +153,13 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns)
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetInfo($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$worksheetInfo = array();
|
||||
@ -203,7 +196,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$fileWorksheet = $worksheets[(string) self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")];
|
||||
|
||||
$xml = new XMLReader();
|
||||
$res = $xml->open('zip://'.PHPExcel_Shared_File::realpath($pFilename).'#'."$dir/$fileWorksheet");
|
||||
$res = $xml->open('zip://' . Shared_File::realpath($pFilename) . '#' . "$dir/$fileWorksheet");
|
||||
$xml->setParserProperty(2,true);
|
||||
|
||||
$currCells = 0;
|
||||
@ -221,7 +214,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$xml->close();
|
||||
|
||||
$tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1;
|
||||
$tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
$tmpInfo['lastColumnLetter'] = Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
|
||||
$worksheetInfo[] = $tmpInfo;
|
||||
}
|
||||
@ -292,11 +285,11 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
// echo 'GETTING SHARED FORMULA<br />';
|
||||
// echo 'Master is '.$sharedFormulas[$instance]['master'].'<br />';
|
||||
// echo 'Formula is '.$sharedFormulas[$instance]['formula'].'<br />';
|
||||
$master = PHPExcel_Cell::coordinateFromString($sharedFormulas[$instance]['master']);
|
||||
$current = PHPExcel_Cell::coordinateFromString($r);
|
||||
$master = Cell::coordinateFromString($sharedFormulas[$instance]['master']);
|
||||
$current = Cell::coordinateFromString($r);
|
||||
|
||||
$difference = array(0, 0);
|
||||
$difference[0] = PHPExcel_Cell::columnIndexFromString($current[0]) - PHPExcel_Cell::columnIndexFromString($master[0]);
|
||||
$difference[0] = Cell::columnIndexFromString($current[0]) - Cell::columnIndexFromString($master[0]);
|
||||
$difference[1] = $current[1] - $master[1];
|
||||
|
||||
$value = $this->_referenceHelper->updateFormulaReferences( $sharedFormulas[$instance]['formula'],
|
||||
@ -317,7 +310,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
{
|
||||
$fileName = substr($fileName, strpos($fileName, '//') + 1);
|
||||
}
|
||||
$fileName = PHPExcel_Shared_File::realpath($fileName);
|
||||
$fileName = Shared_File::realpath($fileName);
|
||||
|
||||
// Apache POI fixes
|
||||
$contents = $archive->getFromName($fileName);
|
||||
@ -334,17 +327,17 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
* Loads PHPExcel from file
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
// Initialisations
|
||||
$excel = new PHPExcel;
|
||||
$excel = new Workbook();
|
||||
$excel->removeSheetByIndex(0);
|
||||
if (!$this->_readDataOnly) {
|
||||
$excel->removeCellStyleXfByIndex(0); // remove the default style
|
||||
@ -385,7 +378,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$themeColours[$themePos] = $xmlColourData['val'];
|
||||
}
|
||||
}
|
||||
self::$_theme = new PHPExcel_Reader_Excel2007_Theme($themeName,$colourSchemeName,$themeColours);
|
||||
self::$_theme = new Reader_Excel2007_Theme($themeName,$colourSchemeName,$themeColours);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -435,8 +428,8 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$cellDataOfficeChildren = $xmlProperty->children('http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes');
|
||||
$attributeType = $cellDataOfficeChildren->getName();
|
||||
$attributeValue = (string) $cellDataOfficeChildren->{$attributeType};
|
||||
$attributeValue = PHPExcel_DocumentProperties::convertProperty($attributeValue,$attributeType);
|
||||
$attributeType = PHPExcel_DocumentProperties::convertPropertyType($attributeType);
|
||||
$attributeValue = DocumentProperties::convertProperty($attributeValue,$attributeType);
|
||||
$attributeType = DocumentProperties::convertPropertyType($attributeType);
|
||||
$docProps->setCustomProperty($propertyName,$attributeValue,$attributeType);
|
||||
}
|
||||
}
|
||||
@ -454,7 +447,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if (isset($xmlStrings) && isset($xmlStrings->si)) {
|
||||
foreach ($xmlStrings->si as $val) {
|
||||
if (isset($val->t)) {
|
||||
$sharedStrings[] = PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $val->t );
|
||||
$sharedStrings[] = Shared_String::ControlCharacterOOXML2PHP( (string) $val->t );
|
||||
} elseif (isset($val->r)) {
|
||||
$sharedStrings[] = $this->_parseRichText($val);
|
||||
}
|
||||
@ -481,7 +474,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
if (!$this->_readDataOnly && $xmlStyles) {
|
||||
foreach ($xmlStyles->cellXfs->xf as $xf) {
|
||||
$numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL;
|
||||
$numFmt = Style_NumberFormat::FORMAT_GENERAL;
|
||||
|
||||
if ($xf["numFmtId"]) {
|
||||
if (isset($numFmts)) {
|
||||
@ -493,7 +486,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
|
||||
if ((int)$xf["numFmtId"] < 164) {
|
||||
$numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]);
|
||||
$numFmt = Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]);
|
||||
}
|
||||
}
|
||||
//$numFmt = str_replace('mm', 'i', $numFmt);
|
||||
@ -510,19 +503,19 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$styles[] = $style;
|
||||
|
||||
// add style to cellXf collection
|
||||
$objStyle = new PHPExcel_Style;
|
||||
$objStyle = new Style;
|
||||
self::_readStyle($objStyle, $style);
|
||||
$excel->addCellXf($objStyle);
|
||||
}
|
||||
|
||||
foreach ($xmlStyles->cellStyleXfs->xf as $xf) {
|
||||
$numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL;
|
||||
$numFmt = Style_NumberFormat::FORMAT_GENERAL;
|
||||
if ($numFmts && $xf["numFmtId"]) {
|
||||
$tmpNumFmt = self::array_item($numFmts->xpath("sml:numFmt[@numFmtId=$xf[numFmtId]]"));
|
||||
if (isset($tmpNumFmt["formatCode"])) {
|
||||
$numFmt = (string) $tmpNumFmt["formatCode"];
|
||||
} else if ((int)$xf["numFmtId"] < 165) {
|
||||
$numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]);
|
||||
$numFmt = Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -537,7 +530,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$cellStyles[] = $cellStyle;
|
||||
|
||||
// add style to cellStyleXf collection
|
||||
$objStyle = new PHPExcel_Style;
|
||||
$objStyle = new Style;
|
||||
self::_readStyle($objStyle, $cellStyle);
|
||||
$excel->addCellStyleXf($objStyle);
|
||||
}
|
||||
@ -548,7 +541,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
// Conditional Styles
|
||||
if ($xmlStyles->dxfs) {
|
||||
foreach ($xmlStyles->dxfs->dxf as $dxf) {
|
||||
$style = new PHPExcel_Style(FALSE, TRUE);
|
||||
$style = new Style(FALSE, TRUE);
|
||||
self::_readStyle($style, $dxf);
|
||||
$dxfs[] = $style;
|
||||
}
|
||||
@ -559,7 +552,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if (intval($cellStyle['builtinId']) == 0) {
|
||||
if (isset($cellStyles[intval($cellStyle['xfId'])])) {
|
||||
// Set default style
|
||||
$style = new PHPExcel_Style;
|
||||
$style = new Style;
|
||||
self::_readStyle($style, $cellStyles[intval($cellStyle['xfId'])]);
|
||||
|
||||
// normal style, currently not using it for anything
|
||||
@ -573,10 +566,10 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
|
||||
// Set base date
|
||||
if ($xmlWorkbook->workbookPr) {
|
||||
PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900);
|
||||
Shared_Date::setExcelCalendar(Shared_Date::CALENDAR_WINDOWS_1900);
|
||||
if (isset($xmlWorkbook->workbookPr['date1904'])) {
|
||||
if (self::boolean((string) $xmlWorkbook->workbookPr['date1904'])) {
|
||||
PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904);
|
||||
Shared_Date::setExcelCalendar(Shared_Date::CALENDAR_MAC_1904);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -725,21 +718,21 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
foreach ($xmlSheet->cols->col as $col) {
|
||||
for ($i = intval($col["min"]) - 1; $i < intval($col["max"]); ++$i) {
|
||||
if ($col["style"] && !$this->_readDataOnly) {
|
||||
$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setXfIndex(intval($col["style"]));
|
||||
$docSheet->getColumnDimension(Cell::stringFromColumnIndex($i))->setXfIndex(intval($col["style"]));
|
||||
}
|
||||
if (self::boolean($col["bestFit"])) {
|
||||
//$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setAutoSize(TRUE);
|
||||
//$docSheet->getColumnDimension(Cell::stringFromColumnIndex($i))->setAutoSize(TRUE);
|
||||
}
|
||||
if (self::boolean($col["hidden"])) {
|
||||
$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setVisible(FALSE);
|
||||
$docSheet->getColumnDimension(Cell::stringFromColumnIndex($i))->setVisible(FALSE);
|
||||
}
|
||||
if (self::boolean($col["collapsed"])) {
|
||||
$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setCollapsed(TRUE);
|
||||
$docSheet->getColumnDimension(Cell::stringFromColumnIndex($i))->setCollapsed(TRUE);
|
||||
}
|
||||
if ($col["outlineLevel"] > 0) {
|
||||
$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setOutlineLevel(intval($col["outlineLevel"]));
|
||||
$docSheet->getColumnDimension(Cell::stringFromColumnIndex($i))->setOutlineLevel(intval($col["outlineLevel"]));
|
||||
}
|
||||
$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setWidth(floatval($col["width"]));
|
||||
$docSheet->getColumnDimension(Cell::stringFromColumnIndex($i))->setWidth(floatval($col["width"]));
|
||||
|
||||
if (intval($col["max"]) == 16384) {
|
||||
break;
|
||||
@ -791,7 +784,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
|
||||
// Read cell?
|
||||
if ($this->getReadFilter() !== NULL) {
|
||||
$coordinates = PHPExcel_Cell::coordinateFromString($r);
|
||||
$coordinates = Cell::coordinateFromString($r);
|
||||
|
||||
if (!$this->getReadFilter()->readCell($coordinates[0], $coordinates[1], $docSheet->getTitle())) {
|
||||
continue;
|
||||
@ -810,7 +803,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if ((string)$c->v != '') {
|
||||
$value = $sharedStrings[intval($c->v)];
|
||||
|
||||
if ($value instanceof PHPExcel_RichText) {
|
||||
if ($value instanceof RichText) {
|
||||
$value = clone $value;
|
||||
}
|
||||
} else {
|
||||
@ -874,7 +867,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
|
||||
// Rich text?
|
||||
if ($value instanceof PHPExcel_RichText && $this->_readDataOnly) {
|
||||
if ($value instanceof RichText && $this->_readDataOnly) {
|
||||
$value = $value->getPlainText();
|
||||
}
|
||||
|
||||
@ -905,10 +898,10 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
foreach ($conditional->cfRule as $cfRule) {
|
||||
if (
|
||||
(
|
||||
(string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_NONE ||
|
||||
(string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CELLIS ||
|
||||
(string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT ||
|
||||
(string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_EXPRESSION
|
||||
(string)$cfRule["type"] == Style_Conditional::CONDITION_NONE ||
|
||||
(string)$cfRule["type"] == Style_Conditional::CONDITION_CELLIS ||
|
||||
(string)$cfRule["type"] == Style_Conditional::CONDITION_CONTAINSTEXT ||
|
||||
(string)$cfRule["type"] == Style_Conditional::CONDITION_EXPRESSION
|
||||
) && isset($dxfs[intval($cfRule["dxfId"])])
|
||||
) {
|
||||
$conditionals[(string) $conditional["sqref"]][intval($cfRule["priority"])] = $cfRule;
|
||||
@ -920,7 +913,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
ksort($cfRules);
|
||||
$conditionalStyles = array();
|
||||
foreach ($cfRules as $cfRule) {
|
||||
$objConditional = new PHPExcel_Style_Conditional();
|
||||
$objConditional = new Style_Conditional();
|
||||
$objConditional->setConditionType((string)$cfRule["type"]);
|
||||
$objConditional->setOperatorType((string)$cfRule["operator"]);
|
||||
|
||||
@ -940,7 +933,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
|
||||
// Extract all cell references in $ref
|
||||
$aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($ref);
|
||||
$aReferences = Cell::extractAllCellReferencesInRange($ref);
|
||||
foreach ($aReferences as $reference) {
|
||||
$docSheet->getStyle($reference)->setConditionalStyles($conditionalStyles);
|
||||
}
|
||||
@ -971,14 +964,14 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$column = $autoFilter->getColumnByOffset((integer) $filterColumn["colId"]);
|
||||
// Check for standard filters
|
||||
if ($filterColumn->filters) {
|
||||
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER);
|
||||
$column->setFilterType(Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER);
|
||||
$filters = $filterColumn->filters;
|
||||
if ((isset($filters["blank"])) && ($filters["blank"] == 1)) {
|
||||
$column->createRule()->setRule(
|
||||
NULL, // Operator is undefined, but always treated as EQUAL
|
||||
''
|
||||
)
|
||||
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
|
||||
->setRuleType(Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
|
||||
}
|
||||
// Standard filters are always an OR join, so no join rule needs to be set
|
||||
// Entries can be either filter elements
|
||||
@ -987,7 +980,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
NULL, // Operator is undefined, but always treated as EQUAL
|
||||
(string) $filterRule["val"]
|
||||
)
|
||||
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
|
||||
->setRuleType(Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER);
|
||||
}
|
||||
// Or Date Group elements
|
||||
foreach ($filters->dateGroupItem as $dateGroupItem) {
|
||||
@ -1003,29 +996,29 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
),
|
||||
(string) $dateGroupItem["dateTimeGrouping"]
|
||||
)
|
||||
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP);
|
||||
->setRuleType(Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP);
|
||||
}
|
||||
}
|
||||
// Check for custom filters
|
||||
if ($filterColumn->customFilters) {
|
||||
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER);
|
||||
$column->setFilterType(Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER);
|
||||
$customFilters = $filterColumn->customFilters;
|
||||
// Custom filters can an AND or an OR join;
|
||||
// and there should only ever be one or two entries
|
||||
if ((isset($customFilters["and"])) && ($customFilters["and"] == 1)) {
|
||||
$column->setJoin(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND);
|
||||
$column->setJoin(Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND);
|
||||
}
|
||||
foreach ($customFilters->customFilter as $filterRule) {
|
||||
$column->createRule()->setRule(
|
||||
(string) $filterRule["operator"],
|
||||
(string) $filterRule["val"]
|
||||
)
|
||||
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
->setRuleType(Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER);
|
||||
}
|
||||
}
|
||||
// Check for dynamic filters
|
||||
if ($filterColumn->dynamicFilter) {
|
||||
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER);
|
||||
$column->setFilterType(Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER);
|
||||
// We should only ever have one dynamic filter
|
||||
foreach ($filterColumn->dynamicFilter as $filterRule) {
|
||||
$column->createRule()->setRule(
|
||||
@ -1033,7 +1026,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
(string) $filterRule["val"],
|
||||
(string) $filterRule["type"]
|
||||
)
|
||||
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER);
|
||||
->setRuleType(Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER);
|
||||
if (isset($filterRule["val"])) {
|
||||
$column->setAttribute('val',(string) $filterRule["val"]);
|
||||
}
|
||||
@ -1044,21 +1037,21 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
// Check for dynamic filters
|
||||
if ($filterColumn->top10) {
|
||||
$column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER);
|
||||
$column->setFilterType(Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER);
|
||||
// We should only ever have one top10 filter
|
||||
foreach ($filterColumn->top10 as $filterRule) {
|
||||
$column->createRule()->setRule(
|
||||
(((isset($filterRule["percent"])) && ($filterRule["percent"] == 1))
|
||||
? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT
|
||||
: PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE
|
||||
? Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT
|
||||
: Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE
|
||||
),
|
||||
(string) $filterRule["val"],
|
||||
(((isset($filterRule["top"])) && ($filterRule["top"] == 1))
|
||||
? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP
|
||||
: PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM
|
||||
? Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP
|
||||
: Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM
|
||||
)
|
||||
)
|
||||
->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER);
|
||||
->setRuleType(Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1146,14 +1139,14 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if ($xmlSheet && $xmlSheet->rowBreaks && $xmlSheet->rowBreaks->brk && !$this->_readDataOnly) {
|
||||
foreach ($xmlSheet->rowBreaks->brk as $brk) {
|
||||
if ($brk["man"]) {
|
||||
$docSheet->setBreak("A$brk[id]", PHPExcel_Worksheet::BREAK_ROW);
|
||||
$docSheet->setBreak("A$brk[id]", Worksheet::BREAK_ROW);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($xmlSheet && $xmlSheet->colBreaks && $xmlSheet->colBreaks->brk && !$this->_readDataOnly) {
|
||||
foreach ($xmlSheet->colBreaks->brk as $brk) {
|
||||
if ($brk["man"]) {
|
||||
$docSheet->setBreak(PHPExcel_Cell::stringFromColumnIndex((string) $brk["id"]) . "1", PHPExcel_Worksheet::BREAK_COLUMN);
|
||||
$docSheet->setBreak(Cell::stringFromColumnIndex((string) $brk["id"]) . "1", Worksheet::BREAK_COLUMN);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1167,7 +1160,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$stRange = $docSheet->shrinkRangeToFit($range);
|
||||
|
||||
// Extract all cell references in $range
|
||||
$aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($stRange);
|
||||
$aReferences = Cell::extractAllCellReferencesInRange($stRange);
|
||||
foreach ($aReferences as $reference) {
|
||||
// Create validation
|
||||
$docValidation = $docSheet->getCell($reference)->getDataValidation();
|
||||
@ -1208,7 +1201,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
// Link url
|
||||
$linkRel = $hyperlink->attributes('http://schemas.openxmlformats.org/officeDocument/2006/relationships');
|
||||
|
||||
foreach (PHPExcel_Cell::extractAllCellReferencesInRange($hyperlink['ref']) as $cellReference) {
|
||||
foreach (Cell::extractAllCellReferencesInRange($hyperlink['ref']) as $cellReference) {
|
||||
$cell = $docSheet->getCell( $cellReference );
|
||||
if (isset($linkRel['id'])) {
|
||||
$hyperlinkUrl = $hyperlinks[ (string)$linkRel['id'] ];
|
||||
@ -1249,7 +1242,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
// Loop through comments
|
||||
foreach ($comments as $relName => $relPath) {
|
||||
// Load comments file
|
||||
$relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath);
|
||||
$relPath = Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath);
|
||||
$commentsFile = simplexml_load_string($this->_getFromZipArchive($zip, $relPath) );
|
||||
|
||||
// Utility variables
|
||||
@ -1270,7 +1263,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
// Loop through VML comments
|
||||
foreach ($vmlComments as $relName => $relPath) {
|
||||
// Load VML comments file
|
||||
$relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath);
|
||||
$relPath = Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath);
|
||||
$vmlCommentsFile = simplexml_load_string( $this->_getFromZipArchive($zip, $relPath) );
|
||||
$vmlCommentsFile->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml');
|
||||
|
||||
@ -1356,12 +1349,12 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$imageData = $imageData->attributes('urn:schemas-microsoft-com:office:office');
|
||||
$style = self::toCSSArray( (string)$shape['style'] );
|
||||
|
||||
$hfImages[ (string)$shape['id'] ] = new PHPExcel_Worksheet_HeaderFooterDrawing();
|
||||
$hfImages[ (string)$shape['id'] ] = new Worksheet_HeaderFooterDrawing();
|
||||
if (isset($imageData['title'])) {
|
||||
$hfImages[ (string)$shape['id'] ]->setName( (string)$imageData['title'] );
|
||||
}
|
||||
|
||||
$hfImages[ (string)$shape['id'] ]->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $drawings[(string)$imageData['relid']], false);
|
||||
$hfImages[ (string)$shape['id'] ]->setPath("zip://".Shared_File::realpath($pFilename)."#" . $drawings[(string)$imageData['relid']], false);
|
||||
$hfImages[ (string)$shape['id'] ]->setResizeProportional(false);
|
||||
$hfImages[ (string)$shape['id'] ]->setWidth($style['width']);
|
||||
$hfImages[ (string)$shape['id'] ]->setHeight($style['height']);
|
||||
@ -1413,25 +1406,25 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$blip = $oneCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip;
|
||||
$xfrm = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm;
|
||||
$outerShdw = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw;
|
||||
$objDrawing = new PHPExcel_Worksheet_Drawing;
|
||||
$objDrawing = new Worksheet_Drawing;
|
||||
$objDrawing->setName((string) self::array_item($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name"));
|
||||
$objDrawing->setDescription((string) self::array_item($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr"));
|
||||
$objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false);
|
||||
$objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1));
|
||||
$objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff));
|
||||
$objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff));
|
||||
$objDrawing->setPath("zip://".Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false);
|
||||
$objDrawing->setCoordinates(Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1));
|
||||
$objDrawing->setOffsetX(Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff));
|
||||
$objDrawing->setOffsetY(Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff));
|
||||
$objDrawing->setResizeProportional(false);
|
||||
$objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx")));
|
||||
$objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy")));
|
||||
$objDrawing->setWidth(Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx")));
|
||||
$objDrawing->setHeight(Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy")));
|
||||
if ($xfrm) {
|
||||
$objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot")));
|
||||
$objDrawing->setRotation(Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot")));
|
||||
}
|
||||
if ($outerShdw) {
|
||||
$shadow = $objDrawing->getShadow();
|
||||
$shadow->setVisible(true);
|
||||
$shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad")));
|
||||
$shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist")));
|
||||
$shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir")));
|
||||
$shadow->setBlurRadius(Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad")));
|
||||
$shadow->setDistance(Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist")));
|
||||
$shadow->setDirection(Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir")));
|
||||
$shadow->setAlignment((string) self::array_item($outerShdw->attributes(), "algn"));
|
||||
$shadow->getColor()->setRGB(self::array_item($outerShdw->srgbClr->attributes(), "val"));
|
||||
$shadow->setAlpha(self::array_item($outerShdw->srgbClr->alpha->attributes(), "val") / 1000);
|
||||
@ -1439,11 +1432,11 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$objDrawing->setWorksheet($docSheet);
|
||||
} else {
|
||||
// ? Can charts be positioned with a oneCellAnchor ?
|
||||
$coordinates = PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1);
|
||||
$offsetX = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff);
|
||||
$offsetY = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff);
|
||||
$width = PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx"));
|
||||
$height = PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy"));
|
||||
$coordinates = Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1);
|
||||
$offsetX = Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff);
|
||||
$offsetY = Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff);
|
||||
$width = Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx"));
|
||||
$height = Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1453,39 +1446,39 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$blip = $twoCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip;
|
||||
$xfrm = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm;
|
||||
$outerShdw = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw;
|
||||
$objDrawing = new PHPExcel_Worksheet_Drawing;
|
||||
$objDrawing = new Worksheet_Drawing;
|
||||
$objDrawing->setName((string) self::array_item($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name"));
|
||||
$objDrawing->setDescription((string) self::array_item($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr"));
|
||||
$objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false);
|
||||
$objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1));
|
||||
$objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff));
|
||||
$objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff));
|
||||
$objDrawing->setPath("zip://".Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false);
|
||||
$objDrawing->setCoordinates(Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1));
|
||||
$objDrawing->setOffsetX(Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff));
|
||||
$objDrawing->setOffsetY(Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff));
|
||||
$objDrawing->setResizeProportional(false);
|
||||
|
||||
$objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cx")));
|
||||
$objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cy")));
|
||||
$objDrawing->setWidth(Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cx")));
|
||||
$objDrawing->setHeight(Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cy")));
|
||||
|
||||
if ($xfrm) {
|
||||
$objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot")));
|
||||
$objDrawing->setRotation(Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot")));
|
||||
}
|
||||
if ($outerShdw) {
|
||||
$shadow = $objDrawing->getShadow();
|
||||
$shadow->setVisible(true);
|
||||
$shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad")));
|
||||
$shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist")));
|
||||
$shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir")));
|
||||
$shadow->setBlurRadius(Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad")));
|
||||
$shadow->setDistance(Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist")));
|
||||
$shadow->setDirection(Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir")));
|
||||
$shadow->setAlignment((string) self::array_item($outerShdw->attributes(), "algn"));
|
||||
$shadow->getColor()->setRGB(self::array_item($outerShdw->srgbClr->attributes(), "val"));
|
||||
$shadow->setAlpha(self::array_item($outerShdw->srgbClr->alpha->attributes(), "val") / 1000);
|
||||
}
|
||||
$objDrawing->setWorksheet($docSheet);
|
||||
} elseif(($this->_includeCharts) && ($twoCellAnchor->graphicFrame)) {
|
||||
$fromCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1);
|
||||
$fromOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff);
|
||||
$fromOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff);
|
||||
$toCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->to->col) . ($twoCellAnchor->to->row + 1);
|
||||
$toOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->colOff);
|
||||
$toOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->rowOff);
|
||||
$fromCoordinate = Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1);
|
||||
$fromOffsetX = Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff);
|
||||
$fromOffsetY = Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff);
|
||||
$toCoordinate = Cell::stringFromColumnIndex((string) $twoCellAnchor->to->col) . ($twoCellAnchor->to->row + 1);
|
||||
$toOffsetX = Shared_Drawing::EMUToPixels($twoCellAnchor->to->colOff);
|
||||
$toOffsetY = Shared_Drawing::EMUToPixels($twoCellAnchor->to->rowOff);
|
||||
$graphic = $twoCellAnchor->graphicFrame->children("http://schemas.openxmlformats.org/drawingml/2006/main")->graphic;
|
||||
$chartRef = $graphic->graphicData->children("http://schemas.openxmlformats.org/drawingml/2006/chart")->chart;
|
||||
$thisChart = (string) $chartRef->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships");
|
||||
@ -1617,7 +1610,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if ($worksheet = $docSheet->getParent()->getSheetByName($range[0])) {
|
||||
$extractedRange = str_replace('$', '', $range[1]);
|
||||
$scope = $docSheet->getParent()->getSheet($mapSheetId[(integer) $definedName['localSheetId']]);
|
||||
$excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $worksheet, $extractedRange, true, $scope) );
|
||||
$excel->addNamedRange( new NamedRange((string)$definedName['name'], $worksheet, $extractedRange, true, $scope) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1629,7 +1622,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$extractedSheetName = '';
|
||||
if (strpos( (string)$definedName, '!' ) !== false) {
|
||||
// Extract sheet name
|
||||
$extractedSheetName = PHPExcel_Worksheet::extractSheetTitle( (string)$definedName, true );
|
||||
$extractedSheetName = Worksheet::extractSheetTitle( (string)$definedName, true );
|
||||
$extractedSheetName = $extractedSheetName[0];
|
||||
|
||||
// Locate sheet
|
||||
@ -1641,7 +1634,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
|
||||
if ($locatedSheet !== NULL) {
|
||||
$excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $locatedSheet, $extractedRange, false) );
|
||||
$excel->addNamedRange( new NamedRange((string)$definedName['name'], $locatedSheet, $extractedRange, false) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1676,7 +1669,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if ($this->_includeCharts) {
|
||||
$chartEntryRef = ltrim($contentType['PartName'],'/');
|
||||
$chartElements = simplexml_load_string($this->_getFromZipArchive($zip, $chartEntryRef));
|
||||
$objChart = PHPExcel_Reader_Excel2007_Chart::readChart($chartElements,basename($chartEntryRef,'.xml'));
|
||||
$objChart = Reader_Excel2007_Chart::readChart($chartElements,basename($chartEntryRef,'.xml'));
|
||||
|
||||
// echo 'Chart ',$chartEntryRef,'<br />';
|
||||
// var_dump($charts[$chartEntryRef]);
|
||||
@ -1714,13 +1707,13 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if (isset($color["rgb"])) {
|
||||
return (string)$color["rgb"];
|
||||
} else if (isset($color["indexed"])) {
|
||||
return PHPExcel_Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB();
|
||||
return Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB();
|
||||
} else if (isset($color["theme"])) {
|
||||
if (self::$_theme !== NULL) {
|
||||
$returnColour = self::$_theme->getColourByIndex((int)$color["theme"]);
|
||||
if (isset($color["tint"])) {
|
||||
$tintAdjust = (float) $color["tint"];
|
||||
$returnColour = PHPExcel_Style_Color::changeBrightness($returnColour, $tintAdjust);
|
||||
$returnColour = Style_Color::changeBrightness($returnColour, $tintAdjust);
|
||||
}
|
||||
return 'FF'.$returnColour;
|
||||
}
|
||||
@ -1759,7 +1752,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$docStyle->getFont()->getColor()->setARGB(self::_readColor($style->font->color));
|
||||
|
||||
if (isset($style->font->u) && !isset($style->font->u["val"])) {
|
||||
$docStyle->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
|
||||
$docStyle->getFont()->setUnderline(Style_Font::UNDERLINE_SINGLE);
|
||||
} else if (isset($style->font->u) && isset($style->font->u["val"])) {
|
||||
$docStyle->getFont()->setUnderline((string)$style->font->u["val"]);
|
||||
}
|
||||
@ -1805,13 +1798,13 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
$diagonalUp = self::boolean((string) $style->border["diagonalUp"]);
|
||||
$diagonalDown = self::boolean((string) $style->border["diagonalDown"]);
|
||||
if (!$diagonalUp && !$diagonalDown) {
|
||||
$docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_NONE);
|
||||
$docStyle->getBorders()->setDiagonalDirection(Style_Borders::DIAGONAL_NONE);
|
||||
} elseif ($diagonalUp && !$diagonalDown) {
|
||||
$docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP);
|
||||
$docStyle->getBorders()->setDiagonalDirection(Style_Borders::DIAGONAL_UP);
|
||||
} elseif (!$diagonalUp && $diagonalDown) {
|
||||
$docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN);
|
||||
$docStyle->getBorders()->setDiagonalDirection(Style_Borders::DIAGONAL_DOWN);
|
||||
} else {
|
||||
$docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_BOTH);
|
||||
$docStyle->getBorders()->setDiagonalDirection(Style_Borders::DIAGONAL_BOTH);
|
||||
}
|
||||
self::_readBorder($docStyle->getBorders()->getLeft(), $style->border->left);
|
||||
self::_readBorder($docStyle->getBorders()->getRight(), $style->border->right);
|
||||
@ -1842,17 +1835,17 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
if (isset($style->protection)) {
|
||||
if (isset($style->protection['locked'])) {
|
||||
if (self::boolean((string) $style->protection['locked'])) {
|
||||
$docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_PROTECTED);
|
||||
$docStyle->getProtection()->setLocked(Style_Protection::PROTECTION_PROTECTED);
|
||||
} else {
|
||||
$docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
|
||||
$docStyle->getProtection()->setLocked(Style_Protection::PROTECTION_UNPROTECTED);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($style->protection['hidden'])) {
|
||||
if (self::boolean((string) $style->protection['hidden'])) {
|
||||
$docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_PROTECTED);
|
||||
$docStyle->getProtection()->setHidden(Style_Protection::PROTECTION_PROTECTED);
|
||||
} else {
|
||||
$docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
|
||||
$docStyle->getProtection()->setHidden(Style_Protection::PROTECTION_UNPROTECTED);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1870,17 +1863,17 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
|
||||
|
||||
private function _parseRichText($is = null) {
|
||||
$value = new PHPExcel_RichText();
|
||||
$value = new RichText();
|
||||
|
||||
if (isset($is->t)) {
|
||||
$value->createText( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $is->t ) );
|
||||
$value->createText( Shared_String::ControlCharacterOOXML2PHP( (string) $is->t ) );
|
||||
} else {
|
||||
foreach ($is->r as $run) {
|
||||
if (!isset($run->rPr)) {
|
||||
$objText = $value->createText( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) );
|
||||
$objText = $value->createText( Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) );
|
||||
|
||||
} else {
|
||||
$objText = $value->createTextRun( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) );
|
||||
$objText = $value->createTextRun( Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) );
|
||||
|
||||
if (isset($run->rPr->rFont["val"])) {
|
||||
$objText->getFont()->setName((string) $run->rPr->rFont["val"]);
|
||||
@ -1891,7 +1884,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
|
||||
if (isset($run->rPr->color)) {
|
||||
$objText->getFont()->setColor( new PHPExcel_Style_Color( self::_readColor($run->rPr->color) ) );
|
||||
$objText->getFont()->setColor( new Style_Color( self::_readColor($run->rPr->color) ) );
|
||||
}
|
||||
|
||||
if ((isset($run->rPr->b["val"]) && self::boolean((string) $run->rPr->b["val"])) ||
|
||||
@ -1915,7 +1908,7 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
|
||||
if (isset($run->rPr->u) && !isset($run->rPr->u["val"])) {
|
||||
$objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
|
||||
$objText->getFont()->setUnderline(Style_Font::UNDERLINE_SINGLE);
|
||||
} else if (isset($run->rPr->u) && isset($run->rPr->u["val"])) {
|
||||
$objText->getFont()->setUnderline((string)$run->rPr->u["val"]);
|
||||
}
|
||||
@ -1955,15 +1948,15 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE
|
||||
}
|
||||
if (strpos($item[1], 'pt') !== false) {
|
||||
$item[1] = str_replace('pt', '', $item[1]);
|
||||
$item[1] = PHPExcel_Shared_Font::fontSizeToPixels($item[1]);
|
||||
$item[1] = Shared_Font::fontSizeToPixels($item[1]);
|
||||
}
|
||||
if (strpos($item[1], 'in') !== false) {
|
||||
$item[1] = str_replace('in', '', $item[1]);
|
||||
$item[1] = PHPExcel_Shared_Font::inchSizeToPixels($item[1]);
|
||||
$item[1] = Shared_Font::inchSizeToPixels($item[1]);
|
||||
}
|
||||
if (strpos($item[1], 'cm') !== false) {
|
||||
$item[1] = str_replace('cm', '', $item[1]);
|
||||
$item[1] = PHPExcel_Shared_Font::centimeterSizeToPixels($item[1]);
|
||||
$item[1] = Shared_Font::centimeterSizeToPixels($item[1]);
|
||||
}
|
||||
|
||||
$style[$item[0]] = $item[1];
|
||||
|
@ -19,20 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader_Excel2007
|
||||
* @package PHPExcel\Reader_Excel2007
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Excel2007_Chart
|
||||
* PHPExcel\Reader_Excel2007_Chart
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader_Excel2007
|
||||
* @package PHPExcel\Reader_Excel2007
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_Excel2007_Chart
|
||||
class Reader_Excel2007_Chart
|
||||
{
|
||||
private static function _getAttribute($component, $name, $format) {
|
||||
$attributes = $component->attributes();
|
||||
@ -55,7 +58,7 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
if (isset($color["rgb"])) {
|
||||
return (string)$color["rgb"];
|
||||
} else if (isset($color["indexed"])) {
|
||||
return PHPExcel_Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB();
|
||||
return Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB();
|
||||
}
|
||||
}
|
||||
|
||||
@ -159,9 +162,9 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
}
|
||||
}
|
||||
if ($plotAreaLayout == NULL) {
|
||||
$plotAreaLayout = new PHPExcel_Chart_Layout();
|
||||
$plotAreaLayout = new Chart_Layout();
|
||||
}
|
||||
$plotArea = new PHPExcel_Chart_PlotArea($plotAreaLayout,$plotSeries);
|
||||
$plotArea = new Chart_PlotArea($plotAreaLayout,$plotSeries);
|
||||
self::_setChartAttributes($plotAreaLayout,$plotAttributes);
|
||||
break;
|
||||
case "plotVisOnly":
|
||||
@ -190,13 +193,13 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
break;
|
||||
}
|
||||
}
|
||||
$legend = new PHPExcel_Chart_Legend($legendPos, $legendLayout, $legendOverlay);
|
||||
$legend = new Chart_Legend($legendPos, $legendLayout, $legendOverlay);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$chart = new PHPExcel_Chart($chartName,$title,$legend,$plotArea,$plotVisOnly,$dispBlanksAs,$XaxisLabel,$YaxisLabel);
|
||||
$chart = new Chart($chartName,$title,$legend,$plotArea,$plotVisOnly,$dispBlanksAs,$XaxisLabel,$YaxisLabel);
|
||||
|
||||
return $chart;
|
||||
} // function readChart()
|
||||
@ -223,7 +226,7 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
}
|
||||
}
|
||||
|
||||
return new PHPExcel_Chart_Title($caption, $titleLayout);
|
||||
return new Chart_Title($caption, $titleLayout);
|
||||
} // function _chartTitle()
|
||||
|
||||
|
||||
@ -240,7 +243,7 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
// echo $detailKey,' => ',self::_getAttribute($detail, 'val', 'string'),PHP_EOL;
|
||||
$layout[$detailKey] = self::_getAttribute($detail, 'val', 'string');
|
||||
}
|
||||
return new PHPExcel_Chart_Layout($layout);
|
||||
return new Chart_Layout($layout);
|
||||
} // function _chartLayoutDetails()
|
||||
|
||||
|
||||
@ -291,7 +294,7 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
}
|
||||
}
|
||||
}
|
||||
return new PHPExcel_Chart_DataSeries($plotType,$multiSeriesType,$plotOrder,$seriesLabel,$seriesCategory,$seriesValues,$smoothLine);
|
||||
return new Chart_DataSeries($plotType,$multiSeriesType,$plotOrder,$seriesLabel,$seriesCategory,$seriesValues,$smoothLine);
|
||||
} // function _chartDataSeries()
|
||||
|
||||
|
||||
@ -300,24 +303,24 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
$seriesSource = (string) $seriesDetail->strRef->f;
|
||||
$seriesData = self::_chartDataSeriesValues($seriesDetail->strRef->strCache->children($namespacesChartMeta['c']),'s');
|
||||
|
||||
return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
return new Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
} elseif (isset($seriesDetail->numRef)) {
|
||||
$seriesSource = (string) $seriesDetail->numRef->f;
|
||||
$seriesData = self::_chartDataSeriesValues($seriesDetail->numRef->numCache->children($namespacesChartMeta['c']));
|
||||
|
||||
return new PHPExcel_Chart_DataSeriesValues('Number',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
return new Chart_DataSeriesValues('Number',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
} elseif (isset($seriesDetail->multiLvlStrRef)) {
|
||||
$seriesSource = (string) $seriesDetail->multiLvlStrRef->f;
|
||||
$seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlStrRef->multiLvlStrCache->children($namespacesChartMeta['c']),'s');
|
||||
$seriesData['pointCount'] = count($seriesData['dataValues']);
|
||||
|
||||
return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
return new Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
} elseif (isset($seriesDetail->multiLvlNumRef)) {
|
||||
$seriesSource = (string) $seriesDetail->multiLvlNumRef->f;
|
||||
$seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlNumRef->multiLvlNumCache->children($namespacesChartMeta['c']),'s');
|
||||
$seriesData['pointCount'] = count($seriesData['dataValues']);
|
||||
|
||||
return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
return new Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
|
||||
}
|
||||
return null;
|
||||
} // function _chartDataSeriesValueSet()
|
||||
@ -391,7 +394,7 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
} // function _chartDataSeriesValuesMultiLevel()
|
||||
|
||||
private static function _parseRichText($titleDetailPart = null) {
|
||||
$value = new PHPExcel_RichText();
|
||||
$value = new RichText();
|
||||
|
||||
foreach($titleDetailPart as $titleDetailElementKey => $titleDetailElement) {
|
||||
if (isset($titleDetailElement->t)) {
|
||||
@ -409,7 +412,7 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
|
||||
$fontColor = (self::_getAttribute($titleDetailElement->rPr, 'color', 'string'));
|
||||
if (!is_null($fontColor)) {
|
||||
$objText->getFont()->setColor( new PHPExcel_Style_Color( self::_readColor($fontColor) ) );
|
||||
$objText->getFont()->setColor( new Style_Color( self::_readColor($fontColor) ) );
|
||||
}
|
||||
|
||||
$bold = self::_getAttribute($titleDetailElement->rPr, 'b', 'boolean');
|
||||
@ -434,11 +437,11 @@ class PHPExcel_Reader_Excel2007_Chart
|
||||
$underscore = (self::_getAttribute($titleDetailElement->rPr, 'u', 'string'));
|
||||
if (!is_null($underscore)) {
|
||||
if ($underscore == 'sng') {
|
||||
$objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
|
||||
$objText->getFont()->setUnderline(Style_Font::UNDERLINE_SINGLE);
|
||||
} elseif($underscore == 'dbl') {
|
||||
$objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE);
|
||||
$objText->getFont()->setUnderline(Style_Font::UNDERLINE_DOUBLE);
|
||||
} else {
|
||||
$objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_NONE);
|
||||
$objText->getFont()->setUnderline(Style_Font::UNDERLINE_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader_Excel2007
|
||||
* @package PHPExcel\Reader_Excel2007
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Excel2007_Theme
|
||||
* PHPExcel\Reader_Excel2007_Theme
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader_Excel2007
|
||||
* @package PHPExcel\Reader_Excel2007
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_Excel2007_Theme
|
||||
class Reader_Excel2007_Theme
|
||||
{
|
||||
/**
|
||||
* Theme Name
|
||||
@ -66,7 +68,7 @@ class PHPExcel_Reader_Excel2007_Theme
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Theme
|
||||
* Create a new PHPExcel\Theme
|
||||
*
|
||||
*/
|
||||
public function __construct($themeName,$colourSchemeName,$colourMap)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,20 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader_Excel5
|
||||
* @package PHPExcel\Reader_Excel5
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Excel5_Escher
|
||||
* PHPExcel\Reader_Excel5_Escher
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader_Excel5
|
||||
* @package PHPExcel\Reader_Excel5
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_Excel5_Escher
|
||||
class Reader_Excel5_Escher
|
||||
{
|
||||
const DGGCONTAINER = 0xF000;
|
||||
const BSTORECONTAINER = 0xF001;
|
||||
@ -82,7 +85,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
private $_object;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_Excel5_Escher instance
|
||||
* Create a new PHPExcel\Reader_Excel5_Escher instance
|
||||
*
|
||||
* @param mixed $object
|
||||
*/
|
||||
@ -109,7 +112,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
while ($this->_pos < $this->_dataSize) {
|
||||
|
||||
// offset: 2; size: 2: Record Type
|
||||
$fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2);
|
||||
$fbt = Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2);
|
||||
|
||||
switch ($fbt) {
|
||||
case self::DGGCONTAINER: $this->_readDggContainer(); break;
|
||||
@ -143,15 +146,15 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
private function _readDefault()
|
||||
{
|
||||
// offset 0; size: 2; recVer and recInstance
|
||||
$verInstance = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos);
|
||||
$verInstance = Reader_Excel5::_GetInt2d($this->_data, $this->_pos);
|
||||
|
||||
// offset: 2; size: 2: Record Type
|
||||
$fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2);
|
||||
$fbt = Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2);
|
||||
|
||||
// bit: 0-3; mask: 0x000F; recVer
|
||||
$recVer = (0x000F & $verInstance) >> 0;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -163,16 +166,16 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readDggContainer()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
$this->_pos += 8 + $length;
|
||||
|
||||
// record is a container, read contents
|
||||
$dggContainer = new PHPExcel_Shared_Escher_DggContainer();
|
||||
$dggContainer = new Shared_Escher_DggContainer();
|
||||
$this->_object->setDggContainer($dggContainer);
|
||||
$reader = new PHPExcel_Reader_Excel5_Escher($dggContainer);
|
||||
$reader = new Reader_Excel5_Escher($dggContainer);
|
||||
$reader->load($recordData);
|
||||
}
|
||||
|
||||
@ -181,7 +184,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readDgg()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -193,16 +196,16 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readBstoreContainer()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
$this->_pos += 8 + $length;
|
||||
|
||||
// record is a container, read contents
|
||||
$bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer();
|
||||
$bstoreContainer = new Shared_Escher_DggContainer_BstoreContainer();
|
||||
$this->_object->setBstoreContainer($bstoreContainer);
|
||||
$reader = new PHPExcel_Reader_Excel5_Escher($bstoreContainer);
|
||||
$reader = new Reader_Excel5_Escher($bstoreContainer);
|
||||
$reader->load($recordData);
|
||||
}
|
||||
|
||||
@ -214,16 +217,16 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: 0; size: 2; recVer and recInstance
|
||||
|
||||
// bit: 4-15; mask: 0xFFF0; recInstance
|
||||
$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
$recInstance = (0xFFF0 & Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
$this->_pos += 8 + $length;
|
||||
|
||||
// add BSE to BstoreContainer
|
||||
$BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE();
|
||||
$BSE = new Shared_Escher_DggContainer_BstoreContainer_BSE();
|
||||
$this->_object->addBSE($BSE);
|
||||
|
||||
$BSE->setBLIPType($recInstance);
|
||||
@ -238,16 +241,16 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
$rgbUid = substr($recordData, 2, 16);
|
||||
|
||||
// offset: 18; size: 2; tag
|
||||
$tag = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 18);
|
||||
$tag = Reader_Excel5::_GetInt2d($recordData, 18);
|
||||
|
||||
// offset: 20; size: 4; size of BLIP in bytes
|
||||
$size = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 20);
|
||||
$size = Reader_Excel5::_GetInt4d($recordData, 20);
|
||||
|
||||
// offset: 24; size: 4; number of references to this BLIP
|
||||
$cRef = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 24);
|
||||
$cRef = Reader_Excel5::_GetInt4d($recordData, 24);
|
||||
|
||||
// offset: 28; size: 4; MSOFO file offset
|
||||
$foDelay = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 28);
|
||||
$foDelay = Reader_Excel5::_GetInt4d($recordData, 28);
|
||||
|
||||
// offset: 32; size: 1; unused1
|
||||
$unused1 = ord($recordData{32});
|
||||
@ -268,7 +271,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
$blipData = substr($recordData, 36 + $cbName);
|
||||
|
||||
// record is a container, read contents
|
||||
$reader = new PHPExcel_Reader_Excel5_Escher($BSE);
|
||||
$reader = new Reader_Excel5_Escher($BSE);
|
||||
$reader->load($blipData);
|
||||
}
|
||||
|
||||
@ -280,9 +283,9 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: 0; size: 2; recVer and recInstance
|
||||
|
||||
// bit: 4-15; mask: 0xFFF0; recInstance
|
||||
$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
$recInstance = (0xFFF0 & Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -307,7 +310,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: var; size: var; the raw image data
|
||||
$data = substr($recordData, $pos);
|
||||
|
||||
$blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip();
|
||||
$blip = new Shared_Escher_DggContainer_BstoreContainer_BSE_Blip();
|
||||
$blip->setData($data);
|
||||
|
||||
$this->_object->setBlip($blip);
|
||||
@ -321,9 +324,9 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: 0; size: 2; recVer and recInstance
|
||||
|
||||
// bit: 4-15; mask: 0xFFF0; recInstance
|
||||
$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
$recInstance = (0xFFF0 & Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -348,7 +351,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: var; size: var; the raw image data
|
||||
$data = substr($recordData, $pos);
|
||||
|
||||
$blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip();
|
||||
$blip = new Shared_Escher_DggContainer_BstoreContainer_BSE_Blip();
|
||||
$blip->setData($data);
|
||||
|
||||
$this->_object->setBlip($blip);
|
||||
@ -362,9 +365,9 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: 0; size: 2; recVer and recInstance
|
||||
|
||||
// bit: 4-15; mask: 0xFFF0; recInstance
|
||||
$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
$recInstance = (0xFFF0 & Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -381,9 +384,9 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: 0; size: 2; recVer and recInstance
|
||||
|
||||
// bit: 4-15; mask: 0xFFF0; recInstance
|
||||
$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
$recInstance = (0xFFF0 & Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -395,7 +398,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readSplitMenuColors()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -407,16 +410,16 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readDgContainer()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
$this->_pos += 8 + $length;
|
||||
|
||||
// record is a container, read contents
|
||||
$dgContainer = new PHPExcel_Shared_Escher_DgContainer();
|
||||
$dgContainer = new Shared_Escher_DgContainer();
|
||||
$this->_object->setDgContainer($dgContainer);
|
||||
$reader = new PHPExcel_Reader_Excel5_Escher($dgContainer);
|
||||
$reader = new Reader_Excel5_Escher($dgContainer);
|
||||
$escher = $reader->load($recordData);
|
||||
}
|
||||
|
||||
@ -425,7 +428,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readDg()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -439,16 +442,16 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
{
|
||||
// context is either context DgContainer or SpgrContainer
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
$this->_pos += 8 + $length;
|
||||
|
||||
// record is a container, read contents
|
||||
$spgrContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer();
|
||||
$spgrContainer = new Shared_Escher_DgContainer_SpgrContainer();
|
||||
|
||||
if ($this->_object instanceof PHPExcel_Shared_Escher_DgContainer) {
|
||||
if ($this->_object instanceof Shared_Escher_DgContainer) {
|
||||
// DgContainer
|
||||
$this->_object->setSpgrContainer($spgrContainer);
|
||||
} else {
|
||||
@ -456,7 +459,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
$this->_object->addChild($spgrContainer);
|
||||
}
|
||||
|
||||
$reader = new PHPExcel_Reader_Excel5_Escher($spgrContainer);
|
||||
$reader = new Reader_Excel5_Escher($spgrContainer);
|
||||
$escher = $reader->load($recordData);
|
||||
}
|
||||
|
||||
@ -465,18 +468,18 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readSpContainer()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// add spContainer to spgrContainer
|
||||
$spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer();
|
||||
$spContainer = new Shared_Escher_DgContainer_SpgrContainer_SpContainer();
|
||||
$this->_object->addChild($spContainer);
|
||||
|
||||
// move stream pointer to next record
|
||||
$this->_pos += 8 + $length;
|
||||
|
||||
// record is a container, read contents
|
||||
$reader = new PHPExcel_Reader_Excel5_Escher($spContainer);
|
||||
$reader = new Reader_Excel5_Escher($spContainer);
|
||||
$escher = $reader->load($recordData);
|
||||
}
|
||||
|
||||
@ -485,7 +488,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readSpgr()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -500,9 +503,9 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: 0; size: 2; recVer and recInstance
|
||||
|
||||
// bit: 4-15; mask: 0xFFF0; recInstance
|
||||
$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
$recInstance = (0xFFF0 & Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -517,9 +520,9 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
// offset: 0; size: 2; recVer and recInstance
|
||||
|
||||
// bit: 4-15; mask: 0xFFF0; recInstance
|
||||
$recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
$recInstance = (0xFFF0 & Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
|
||||
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -531,38 +534,38 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readClientAnchor()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
$this->_pos += 8 + $length;
|
||||
|
||||
// offset: 2; size: 2; upper-left corner column index (0-based)
|
||||
$c1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 2);
|
||||
$c1 = Reader_Excel5::_GetInt2d($recordData, 2);
|
||||
|
||||
// offset: 4; size: 2; upper-left corner horizontal offset in 1/1024 of column width
|
||||
$startOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 4);
|
||||
$startOffsetX = Reader_Excel5::_GetInt2d($recordData, 4);
|
||||
|
||||
// offset: 6; size: 2; upper-left corner row index (0-based)
|
||||
$r1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 6);
|
||||
$r1 = Reader_Excel5::_GetInt2d($recordData, 6);
|
||||
|
||||
// offset: 8; size: 2; upper-left corner vertical offset in 1/256 of row height
|
||||
$startOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 8);
|
||||
$startOffsetY = Reader_Excel5::_GetInt2d($recordData, 8);
|
||||
|
||||
// offset: 10; size: 2; bottom-right corner column index (0-based)
|
||||
$c2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 10);
|
||||
$c2 = Reader_Excel5::_GetInt2d($recordData, 10);
|
||||
|
||||
// offset: 12; size: 2; bottom-right corner horizontal offset in 1/1024 of column width
|
||||
$endOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 12);
|
||||
$endOffsetX = Reader_Excel5::_GetInt2d($recordData, 12);
|
||||
|
||||
// offset: 14; size: 2; bottom-right corner row index (0-based)
|
||||
$r2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 14);
|
||||
$r2 = Reader_Excel5::_GetInt2d($recordData, 14);
|
||||
|
||||
// offset: 16; size: 2; bottom-right corner vertical offset in 1/256 of row height
|
||||
$endOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 16);
|
||||
$endOffsetY = Reader_Excel5::_GetInt2d($recordData, 16);
|
||||
|
||||
// set the start coordinates
|
||||
$this->_object->setStartCoordinates(PHPExcel_Cell::stringFromColumnIndex($c1) . ($r1 + 1));
|
||||
$this->_object->setStartCoordinates(Cell::stringFromColumnIndex($c1) . ($r1 + 1));
|
||||
|
||||
// set the start offsetX
|
||||
$this->_object->setStartOffsetX($startOffsetX);
|
||||
@ -571,7 +574,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
$this->_object->setStartOffsetY($startOffsetY);
|
||||
|
||||
// set the end coordinates
|
||||
$this->_object->setEndCoordinates(PHPExcel_Cell::stringFromColumnIndex($c2) . ($r2 + 1));
|
||||
$this->_object->setEndCoordinates(Cell::stringFromColumnIndex($c2) . ($r2 + 1));
|
||||
|
||||
// set the end offsetX
|
||||
$this->_object->setEndOffsetX($endOffsetX);
|
||||
@ -585,7 +588,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
*/
|
||||
private function _readClientData()
|
||||
{
|
||||
$length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$length = Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
|
||||
$recordData = substr($this->_data, $this->_pos + 8, $length);
|
||||
|
||||
// move stream pointer to next record
|
||||
@ -608,7 +611,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
$fopte = substr($data, 6 * $i, 6);
|
||||
|
||||
// offset: 0; size: 2; opid
|
||||
$opid = PHPExcel_Reader_Excel5::_GetInt2d($fopte, 0);
|
||||
$opid = Reader_Excel5::_GetInt2d($fopte, 0);
|
||||
|
||||
// bit: 0-13; mask: 0x3FFF; opid.opid
|
||||
$opidOpid = (0x3FFF & $opid) >> 0;
|
||||
@ -620,7 +623,7 @@ class PHPExcel_Reader_Excel5_Escher
|
||||
$opidFComplex = (0x8000 & $opid) >> 15;
|
||||
|
||||
// offset: 2; size: 4; the value for this property
|
||||
$op = PHPExcel_Reader_Excel5::_GetInt4d($fopte, 2);
|
||||
$op = Reader_Excel5::_GetInt4d($fopte, 2);
|
||||
|
||||
if ($opidFComplex) {
|
||||
$complexData = substr($splicedComplexData, 0, $op);
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Exception
|
||||
* PHPExcel\Reader_Exception
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_Exception extends PHPExcel_Exception {
|
||||
class Reader_Exception extends Exception {
|
||||
/**
|
||||
* Error handler callback
|
||||
*
|
||||
|
@ -19,30 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_Gnumeric
|
||||
* PHPExcel\Reader_Gnumeric
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
class Reader_Gnumeric extends Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Formats
|
||||
@ -62,31 +55,31 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_Gnumeric
|
||||
* Create a new PHPExcel\Reader_Gnumeric
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
|
||||
$this->_referenceHelper = PHPExcel_ReferenceHelper::getInstance();
|
||||
$this->_readFilter = new Reader_DefaultReadFilter();
|
||||
$this->_referenceHelper = ReferenceHelper::getInstance();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Can the current PHPExcel_Reader_IReader read the file?
|
||||
* Can the current PHPExcel\Reader_IReader read the file?
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return boolean
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function canRead($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
// Check if gzlib functions are available
|
||||
if (!function_exists('gzread')) {
|
||||
throw new PHPExcel_Reader_Exception("gzlib library is not enabled");
|
||||
throw new Reader_Exception("gzlib library is not enabled");
|
||||
}
|
||||
|
||||
// Read signature data (first 3 bytes)
|
||||
@ -106,13 +99,13 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
* Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetNames($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$xml = new XMLReader();
|
||||
@ -140,13 +133,13 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns)
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetInfo($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$xml = new XMLReader();
|
||||
@ -180,7 +173,7 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
break;
|
||||
}
|
||||
}
|
||||
$tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
$tmpInfo['lastColumnLetter'] = Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
$worksheetInfo[] = $tmpInfo;
|
||||
}
|
||||
}
|
||||
@ -207,12 +200,12 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename)
|
||||
{
|
||||
// Create new PHPExcel
|
||||
$objPHPExcel = new PHPExcel();
|
||||
// Create new PHPExcel Workbook
|
||||
$objPHPExcel = new Workbook();
|
||||
|
||||
// Load into this instance
|
||||
return $this->loadIntoExisting($pFilename, $objPHPExcel);
|
||||
@ -220,18 +213,18 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
|
||||
|
||||
/**
|
||||
* Loads PHPExcel from file into PHPExcel instance
|
||||
* Loads Workbook from file into PHPExcel Workbook instance
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @param PHPExcel $objPHPExcel
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$timezoneObj = new DateTimeZone('Europe/London');
|
||||
@ -414,7 +407,7 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
if ($row > $maxRow) $maxRow = $row;
|
||||
if ($column > $maxCol) $maxCol = $column;
|
||||
|
||||
$column = PHPExcel_Cell::stringFromColumnIndex($column);
|
||||
$column = Cell::stringFromColumnIndex($column);
|
||||
|
||||
// Read cell?
|
||||
if ($this->getReadFilter() !== NULL) {
|
||||
@ -428,7 +421,7 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
// echo 'Cell ',$column,$row,'<br />';
|
||||
// echo 'Type is ',$ValueType,'<br />';
|
||||
// echo 'Value is ',$cell,'<br />';
|
||||
$type = PHPExcel_Cell_DataType::TYPE_FORMULA;
|
||||
$type = Cell_DataType::TYPE_FORMULA;
|
||||
if ($ExprID > '') {
|
||||
if (((string) $cell) > '') {
|
||||
|
||||
@ -449,26 +442,26 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
// echo 'SHARED EXPRESSION ',$ExprID,'<br />';
|
||||
// echo 'New Value is ',$cell,'<br />';
|
||||
}
|
||||
$type = PHPExcel_Cell_DataType::TYPE_FORMULA;
|
||||
$type = Cell_DataType::TYPE_FORMULA;
|
||||
} else {
|
||||
switch($ValueType) {
|
||||
case '10' : // NULL
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NULL;
|
||||
$type = Cell_DataType::TYPE_NULL;
|
||||
break;
|
||||
case '20' : // Boolean
|
||||
$type = PHPExcel_Cell_DataType::TYPE_BOOL;
|
||||
$type = Cell_DataType::TYPE_BOOL;
|
||||
$cell = ($cell == 'TRUE') ? True : False;
|
||||
break;
|
||||
case '30' : // Integer
|
||||
$cell = intval($cell);
|
||||
case '40' : // Float
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
break;
|
||||
case '50' : // Error
|
||||
$type = PHPExcel_Cell_DataType::TYPE_ERROR;
|
||||
$type = Cell_DataType::TYPE_ERROR;
|
||||
break;
|
||||
case '60' : // String
|
||||
$type = PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
$type = Cell_DataType::TYPE_STRING;
|
||||
break;
|
||||
case '70' : // Cell Range
|
||||
case '80' : // Array
|
||||
@ -495,11 +488,11 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
if (($styleAttributes['startRow'] <= $maxRow) &&
|
||||
($styleAttributes['startCol'] <= $maxCol)) {
|
||||
|
||||
$startColumn = PHPExcel_Cell::stringFromColumnIndex((int) $styleAttributes['startCol']);
|
||||
$startColumn = Cell::stringFromColumnIndex((int) $styleAttributes['startCol']);
|
||||
$startRow = $styleAttributes['startRow'] + 1;
|
||||
|
||||
$endColumn = ($styleAttributes['endCol'] > $maxCol) ? $maxCol : (int) $styleAttributes['endCol'];
|
||||
$endColumn = PHPExcel_Cell::stringFromColumnIndex($endColumn);
|
||||
$endColumn = Cell::stringFromColumnIndex($endColumn);
|
||||
$endRow = ($styleAttributes['endRow'] > $maxRow) ? $maxRow : $styleAttributes['endRow'];
|
||||
$endRow += 1;
|
||||
$cellRange = $startColumn.$startRow.':'.$endColumn.$endRow;
|
||||
@ -511,45 +504,45 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
|
||||
// We still set the number format mask for date/time values, even if _readDataOnly is true
|
||||
if ((!$this->_readDataOnly) ||
|
||||
(PHPExcel_Shared_Date::isDateTimeFormatCode($styleArray['numberformat']['code']))) {
|
||||
(Shared_Date::isDateTimeFormatCode($styleArray['numberformat']['code']))) {
|
||||
$styleArray = array();
|
||||
$styleArray['numberformat']['code'] = (string) $styleAttributes['Format'];
|
||||
// If _readDataOnly is false, we set all formatting information
|
||||
if (!$this->_readDataOnly) {
|
||||
switch($styleAttributes['HAlign']) {
|
||||
case '1' :
|
||||
$styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL;
|
||||
$styleArray['alignment']['horizontal'] = Style_Alignment::HORIZONTAL_GENERAL;
|
||||
break;
|
||||
case '2' :
|
||||
$styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_LEFT;
|
||||
$styleArray['alignment']['horizontal'] = Style_Alignment::HORIZONTAL_LEFT;
|
||||
break;
|
||||
case '4' :
|
||||
$styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_RIGHT;
|
||||
$styleArray['alignment']['horizontal'] = Style_Alignment::HORIZONTAL_RIGHT;
|
||||
break;
|
||||
case '8' :
|
||||
$styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER;
|
||||
$styleArray['alignment']['horizontal'] = Style_Alignment::HORIZONTAL_CENTER;
|
||||
break;
|
||||
case '16' :
|
||||
case '64' :
|
||||
$styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS;
|
||||
$styleArray['alignment']['horizontal'] = Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS;
|
||||
break;
|
||||
case '32' :
|
||||
$styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY;
|
||||
$styleArray['alignment']['horizontal'] = Style_Alignment::HORIZONTAL_JUSTIFY;
|
||||
break;
|
||||
}
|
||||
|
||||
switch($styleAttributes['VAlign']) {
|
||||
case '1' :
|
||||
$styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_TOP;
|
||||
$styleArray['alignment']['vertical'] = Style_Alignment::VERTICAL_TOP;
|
||||
break;
|
||||
case '2' :
|
||||
$styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_BOTTOM;
|
||||
$styleArray['alignment']['vertical'] = Style_Alignment::VERTICAL_BOTTOM;
|
||||
break;
|
||||
case '4' :
|
||||
$styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_CENTER;
|
||||
$styleArray['alignment']['vertical'] = Style_Alignment::VERTICAL_CENTER;
|
||||
break;
|
||||
case '8' :
|
||||
$styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_JUSTIFY;
|
||||
$styleArray['alignment']['vertical'] = Style_Alignment::VERTICAL_JUSTIFY;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -567,64 +560,64 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
$styleArray['fill']['endcolor']['rgb'] = $RGB2;
|
||||
switch($shade) {
|
||||
case '1' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_SOLID;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_SOLID;
|
||||
break;
|
||||
case '2' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_GRADIENT_LINEAR;
|
||||
break;
|
||||
case '3' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_PATH;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_GRADIENT_PATH;
|
||||
break;
|
||||
case '4' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_DARKDOWN;
|
||||
break;
|
||||
case '5' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_DARKGRAY;
|
||||
break;
|
||||
case '6' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_DARKGRID;
|
||||
break;
|
||||
case '7' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_DARKHORIZONTAL;
|
||||
break;
|
||||
case '8' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_DARKTRELLIS;
|
||||
break;
|
||||
case '9' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKUP;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_DARKUP;
|
||||
break;
|
||||
case '10' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_DARKVERTICAL;
|
||||
break;
|
||||
case '11' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_GRAY0625;
|
||||
break;
|
||||
case '12' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY125;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_GRAY125;
|
||||
break;
|
||||
case '13' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_LIGHTDOWN;
|
||||
break;
|
||||
case '14' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_LIGHTGRAY;
|
||||
break;
|
||||
case '15' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_LIGHTGRID;
|
||||
break;
|
||||
case '16' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL;
|
||||
break;
|
||||
case '17' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_LIGHTTRELLIS;
|
||||
break;
|
||||
case '18' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_LIGHTUP;
|
||||
break;
|
||||
case '19' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_LIGHTVERTICAL;
|
||||
break;
|
||||
case '20' :
|
||||
$styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY;
|
||||
$styleArray['fill']['type'] = Style_Fill::FILL_PATTERN_MEDIUMGRAY;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -639,19 +632,19 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
$styleArray['font']['strike'] = ($fontAttributes['StrikeThrough'] == '1') ? True : False;
|
||||
switch($fontAttributes['Underline']) {
|
||||
case '1' :
|
||||
$styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLE;
|
||||
$styleArray['font']['underline'] = Style_Font::UNDERLINE_SINGLE;
|
||||
break;
|
||||
case '2' :
|
||||
$styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLE;
|
||||
$styleArray['font']['underline'] = Style_Font::UNDERLINE_DOUBLE;
|
||||
break;
|
||||
case '3' :
|
||||
$styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING;
|
||||
$styleArray['font']['underline'] = Style_Font::UNDERLINE_SINGLEACCOUNTING;
|
||||
break;
|
||||
case '4' :
|
||||
$styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING;
|
||||
$styleArray['font']['underline'] = Style_Font::UNDERLINE_DOUBLEACCOUNTING;
|
||||
break;
|
||||
default :
|
||||
$styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_NONE;
|
||||
$styleArray['font']['underline'] = Style_Font::UNDERLINE_NONE;
|
||||
break;
|
||||
}
|
||||
switch($fontAttributes['Script']) {
|
||||
@ -678,13 +671,13 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
}
|
||||
if ((isset($styleRegion->Style->StyleBorder->Diagonal)) && (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}))) {
|
||||
$styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes());
|
||||
$styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_BOTH;
|
||||
$styleArray['borders']['diagonaldirection'] = Style_Borders::DIAGONAL_BOTH;
|
||||
} elseif (isset($styleRegion->Style->StyleBorder->Diagonal)) {
|
||||
$styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes());
|
||||
$styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_UP;
|
||||
$styleArray['borders']['diagonaldirection'] = Style_Borders::DIAGONAL_UP;
|
||||
} elseif (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'})) {
|
||||
$styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}->attributes());
|
||||
$styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_DOWN;
|
||||
$styleArray['borders']['diagonaldirection'] = Style_Borders::DIAGONAL_DOWN;
|
||||
}
|
||||
}
|
||||
if (isset($styleRegion->Style->HyperLink)) {
|
||||
@ -711,19 +704,19 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
$hidden = ((isset($columnAttributes['Hidden'])) && ($columnAttributes['Hidden'] == '1')) ? true : false;
|
||||
$columnCount = (isset($columnAttributes['Count'])) ? $columnAttributes['Count'] : 1;
|
||||
while ($c < $column) {
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth);
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(Cell::stringFromColumnIndex($c))->setWidth($defaultWidth);
|
||||
++$c;
|
||||
}
|
||||
while (($c < ($column+$columnCount)) && ($c <= $maxCol)) {
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($columnWidth);
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(Cell::stringFromColumnIndex($c))->setWidth($columnWidth);
|
||||
if ($hidden) {
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setVisible(false);
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(Cell::stringFromColumnIndex($c))->setVisible(false);
|
||||
}
|
||||
++$c;
|
||||
}
|
||||
}
|
||||
while ($c <= $maxCol) {
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth);
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(Cell::stringFromColumnIndex($c))->setWidth($defaultWidth);
|
||||
++$c;
|
||||
}
|
||||
}
|
||||
@ -783,7 +776,7 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
$range[0] = trim($range[0],"'");;
|
||||
if ($worksheet = $objPHPExcel->getSheetByName($range[0])) {
|
||||
$extractedRange = str_replace('$', '', $range[1]);
|
||||
$objPHPExcel->addNamedRange( new PHPExcel_NamedRange($name, $worksheet, $extractedRange) );
|
||||
$objPHPExcel->addNamedRange( new NamedRange($name, $worksheet, $extractedRange) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -805,46 +798,46 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
|
||||
switch ($borderAttributes["Style"]) {
|
||||
case '0' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_NONE;
|
||||
$styleArray['style'] = Style_Border::BORDER_NONE;
|
||||
break;
|
||||
case '1' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
$styleArray['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
case '2' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUM;
|
||||
$styleArray['style'] = Style_Border::BORDER_MEDIUM;
|
||||
break;
|
||||
case '4' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHED;
|
||||
$styleArray['style'] = Style_Border::BORDER_DASHED;
|
||||
break;
|
||||
case '5' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_THICK;
|
||||
$styleArray['style'] = Style_Border::BORDER_THICK;
|
||||
break;
|
||||
case '6' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_DOUBLE;
|
||||
$styleArray['style'] = Style_Border::BORDER_DOUBLE;
|
||||
break;
|
||||
case '7' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_DOTTED;
|
||||
$styleArray['style'] = Style_Border::BORDER_DOTTED;
|
||||
break;
|
||||
case '9' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOT;
|
||||
$styleArray['style'] = Style_Border::BORDER_DASHDOT;
|
||||
break;
|
||||
case '10' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT;
|
||||
$styleArray['style'] = Style_Border::BORDER_MEDIUMDASHDOT;
|
||||
break;
|
||||
case '11' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOTDOT;
|
||||
$styleArray['style'] = Style_Border::BORDER_DASHDOTDOT;
|
||||
break;
|
||||
case '12' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT;
|
||||
$styleArray['style'] = Style_Border::BORDER_MEDIUMDASHDOTDOT;
|
||||
break;
|
||||
case '13' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT;
|
||||
$styleArray['style'] = Style_Border::BORDER_MEDIUMDASHDOTDOT;
|
||||
break;
|
||||
case '3' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_SLANTDASHDOT;
|
||||
$styleArray['style'] = Style_Border::BORDER_SLANTDASHDOT;
|
||||
break;
|
||||
case '8' :
|
||||
$styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHED;
|
||||
$styleArray['style'] = Style_Border::BORDER_MEDIUMDASHED;
|
||||
break;
|
||||
}
|
||||
return $styleArray;
|
||||
@ -852,7 +845,7 @@ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPEx
|
||||
|
||||
|
||||
private function _parseRichText($is = '') {
|
||||
$value = new PHPExcel_RichText();
|
||||
$value = new RichText();
|
||||
|
||||
$value->createText($is);
|
||||
|
||||
|
@ -19,30 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_HTML
|
||||
* PHPExcel\Reader_HTML
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
class Reader_HTML extends Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Input encoding
|
||||
@ -88,12 +81,12 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
),
|
||||
), // Bold, 7.5pt
|
||||
'a' => array( 'font' => array( 'underline' => true,
|
||||
'color' => array( 'argb' => PHPExcel_Style_Color::COLOR_BLUE,
|
||||
'color' => array( 'argb' => Style_Color::COLOR_BLUE,
|
||||
),
|
||||
),
|
||||
), // Blue underlined
|
||||
'hr' => array( 'borders' => array( 'bottom' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN,
|
||||
'color' => array( PHPExcel_Style_Color::COLOR_BLACK,
|
||||
'hr' => array( 'borders' => array( 'bottom' => array( 'style' => Style_Border::BORDER_THIN,
|
||||
'color' => array( Style_Color::COLOR_BLACK,
|
||||
),
|
||||
),
|
||||
),
|
||||
@ -102,10 +95,10 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_HTML
|
||||
* Create a new PHPExcel\Reader_HTML
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
|
||||
$this->_readFilter = new Reader_DefaultReadFilter();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -130,12 +123,12 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename)
|
||||
{
|
||||
// Create new PHPExcel
|
||||
$objPHPExcel = new PHPExcel();
|
||||
// Create new PHPExcel Workbook
|
||||
$objPHPExcel = new Workbook();
|
||||
|
||||
// Load into this instance
|
||||
return $this->loadIntoExisting($pFilename, $objPHPExcel);
|
||||
@ -402,7 +395,7 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
* @param string $pFilename
|
||||
* @param PHPExcel $objPHPExcel
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel)
|
||||
{
|
||||
@ -410,7 +403,7 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
$this->_openFile($pFilename);
|
||||
if (!$this->_isValidFormat()) {
|
||||
fclose ($this->_fileHandle);
|
||||
throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid HTML file.");
|
||||
throw new Reader_Exception($pFilename . " is an Invalid HTML file.");
|
||||
}
|
||||
// Close after validating
|
||||
fclose ($this->_fileHandle);
|
||||
@ -426,7 +419,7 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
// Reload the HTML file into the DOM object
|
||||
$loaded = $dom->loadHTMLFile($pFilename);
|
||||
if ($loaded === FALSE) {
|
||||
throw new PHPExcel_Reader_Exception('Failed to load ',$pFilename,' as a DOM Document');
|
||||
throw new Reader_Exception('Failed to load ',$pFilename,' as a DOM Document');
|
||||
}
|
||||
|
||||
// Discard white space
|
||||
@ -458,7 +451,7 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
* Set sheet index
|
||||
*
|
||||
* @param int $pValue Sheet index
|
||||
* @return PHPExcel_Reader_HTML
|
||||
* @return PHPExcel\Reader_HTML
|
||||
*/
|
||||
public function setSheetIndex($pValue = 0) {
|
||||
$this->_sheetIndex = $pValue;
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_IReadFilter
|
||||
* PHPExcel\Reader_IReadFilter
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
interface PHPExcel_Reader_IReadFilter
|
||||
interface Reader_IReadFilter
|
||||
{
|
||||
/**
|
||||
* Should this cell be read?
|
||||
|
@ -19,24 +19,26 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_IReader
|
||||
* PHPExcel\Reader_IReader
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
interface PHPExcel_Reader_IReader
|
||||
interface Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Can the current PHPExcel_Reader_IReader read the file?
|
||||
* Can the current PHPExcel\Reader_IReader read the file?
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return boolean
|
||||
@ -47,7 +49,7 @@ interface PHPExcel_Reader_IReader
|
||||
* Loads PHPExcel from file
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename);
|
||||
}
|
||||
|
@ -19,30 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_OOCalc
|
||||
* PHPExcel\Reader_OOCalc
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
class Reader_OOCalc extends Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Formats
|
||||
@ -53,30 +46,30 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_OOCalc
|
||||
* Create a new PHPExcel\Reader_OOCalc
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
|
||||
$this->_readFilter = new Reader_DefaultReadFilter();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Can the current PHPExcel_Reader_IReader read the file?
|
||||
* Can the current PHPExcel\Reader_IReader read the file?
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return boolean
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function canRead($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
// Check if zip class exists
|
||||
if (!class_exists('ZipArchive',FALSE)) {
|
||||
throw new PHPExcel_Reader_Exception("ZipArchive library is not enabled");
|
||||
throw new Reader_Exception("ZipArchive library is not enabled");
|
||||
}
|
||||
|
||||
$mimeType = 'UNKNOWN';
|
||||
@ -115,18 +108,18 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
* Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetNames($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$zip = new ZipArchive;
|
||||
if (!$zip->open($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file.");
|
||||
}
|
||||
|
||||
$worksheetNames = array();
|
||||
@ -165,20 +158,20 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns)
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetInfo($pFilename)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$worksheetInfo = array();
|
||||
|
||||
$zip = new ZipArchive;
|
||||
if (!$zip->open($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file.");
|
||||
}
|
||||
|
||||
$xml = new XMLReader();
|
||||
@ -239,7 +232,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
|
||||
$tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells);
|
||||
$tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1;
|
||||
$tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
$tmpInfo['lastColumnLetter'] = Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
$worksheetInfo[] = $tmpInfo;
|
||||
}
|
||||
}
|
||||
@ -273,7 +266,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
// $tmpInfo['lastColumnLetter'] = Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']);
|
||||
// $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1;
|
||||
//
|
||||
// }
|
||||
@ -289,7 +282,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename)
|
||||
{
|
||||
@ -319,13 +312,13 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
* @param string $pFilename
|
||||
* @param PHPExcel $objPHPExcel
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel)
|
||||
{
|
||||
// Check if file exists
|
||||
if (!file_exists($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||
}
|
||||
|
||||
$timezoneObj = new DateTimeZone('Europe/London');
|
||||
@ -333,7 +326,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
|
||||
$zip = new ZipArchive;
|
||||
if (!$zip->open($pFilename)) {
|
||||
throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file.");
|
||||
throw new Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file.");
|
||||
}
|
||||
|
||||
// echo '<h1>Meta Information</h1>';
|
||||
@ -390,26 +383,26 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
$docProps->setCreated($creationDate);
|
||||
break;
|
||||
case 'user-defined' :
|
||||
$propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING;
|
||||
$propertyValueType = DocumentProperties::PROPERTY_TYPE_STRING;
|
||||
foreach ($propertyValueAttributes as $key => $value) {
|
||||
if ($key == 'name') {
|
||||
$propertyValueName = (string) $value;
|
||||
} elseif($key == 'value-type') {
|
||||
switch ($value) {
|
||||
case 'date' :
|
||||
$propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'date');
|
||||
$propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE;
|
||||
$propertyValue = DocumentProperties::convertProperty($propertyValue,'date');
|
||||
$propertyValueType = DocumentProperties::PROPERTY_TYPE_DATE;
|
||||
break;
|
||||
case 'boolean' :
|
||||
$propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'bool');
|
||||
$propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN;
|
||||
$propertyValue = DocumentProperties::convertProperty($propertyValue,'bool');
|
||||
$propertyValueType = DocumentProperties::PROPERTY_TYPE_BOOLEAN;
|
||||
break;
|
||||
case 'float' :
|
||||
$propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'r4');
|
||||
$propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT;
|
||||
$propertyValue = DocumentProperties::convertProperty($propertyValue,'r4');
|
||||
$propertyValueType = DocumentProperties::PROPERTY_TYPE_FLOAT;
|
||||
break;
|
||||
default :
|
||||
$propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING;
|
||||
$propertyValueType = DocumentProperties::PROPERTY_TYPE_STRING;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -540,7 +533,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
// echo 'Value Type is '.$cellDataOfficeAttributes['value-type'].'<br />';
|
||||
switch ($cellDataOfficeAttributes['value-type']) {
|
||||
case 'string' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
$type = Cell_DataType::TYPE_STRING;
|
||||
$dataValue = $allCellDataText;
|
||||
if (isset($dataValue->a)) {
|
||||
$dataValue = $dataValue->a;
|
||||
@ -549,27 +542,27 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
}
|
||||
break;
|
||||
case 'boolean' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_BOOL;
|
||||
$type = Cell_DataType::TYPE_BOOL;
|
||||
$dataValue = ($allCellDataText == 'TRUE') ? True : False;
|
||||
break;
|
||||
case 'percentage' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
$dataValue = (float) $cellDataOfficeAttributes['value'];
|
||||
if (floor($dataValue) == $dataValue) {
|
||||
$dataValue = (integer) $dataValue;
|
||||
}
|
||||
$formatting = PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00;
|
||||
$formatting = Style_NumberFormat::FORMAT_PERCENTAGE_00;
|
||||
break;
|
||||
case 'currency' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
$dataValue = (float) $cellDataOfficeAttributes['value'];
|
||||
if (floor($dataValue) == $dataValue) {
|
||||
$dataValue = (integer) $dataValue;
|
||||
}
|
||||
$formatting = PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE;
|
||||
$formatting = Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE;
|
||||
break;
|
||||
case 'float' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
$dataValue = (float) $cellDataOfficeAttributes['value'];
|
||||
if (floor($dataValue) == $dataValue) {
|
||||
if ($dataValue = (integer) $dataValue)
|
||||
@ -579,21 +572,21 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
}
|
||||
break;
|
||||
case 'date' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
$dateObj = new DateTime($cellDataOfficeAttributes['date-value'], $GMT);
|
||||
$dateObj->setTimeZone($timezoneObj);
|
||||
list($year,$month,$day,$hour,$minute,$second) = explode(' ',$dateObj->format('Y m d H i s'));
|
||||
$dataValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year,$month,$day,$hour,$minute,$second);
|
||||
$dataValue = Shared_Date::FormattedPHPToExcel($year,$month,$day,$hour,$minute,$second);
|
||||
if ($dataValue != floor($dataValue)) {
|
||||
$formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15.' '.PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4;
|
||||
$formatting = Style_NumberFormat::FORMAT_DATE_XLSX15.' '.Style_NumberFormat::FORMAT_DATE_TIME4;
|
||||
} else {
|
||||
$formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15;
|
||||
$formatting = Style_NumberFormat::FORMAT_DATE_XLSX15;
|
||||
}
|
||||
break;
|
||||
case 'time' :
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
$dataValue = PHPExcel_Shared_Date::PHPToExcel(strtotime('01-01-1970 '.implode(':',sscanf($cellDataOfficeAttributes['time-value'],'PT%dH%dM%dS'))));
|
||||
$formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4;
|
||||
$type = Cell_DataType::TYPE_NUMERIC;
|
||||
$dataValue = Shared_Date::PHPToExcel(strtotime('01-01-1970 '.implode(':',sscanf($cellDataOfficeAttributes['time-value'],'PT%dH%dM%dS'))));
|
||||
$formatting = Style_NumberFormat::FORMAT_DATE_TIME4;
|
||||
break;
|
||||
}
|
||||
// echo 'Data value is '.$dataValue.'<br />';
|
||||
@ -601,12 +594,12 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
// echo 'Hyperlink is '.$hyperlink.'<br />';
|
||||
// }
|
||||
} else {
|
||||
$type = PHPExcel_Cell_DataType::TYPE_NULL;
|
||||
$type = Cell_DataType::TYPE_NULL;
|
||||
$dataValue = NULL;
|
||||
}
|
||||
|
||||
if ($hasCalculatedValue) {
|
||||
$type = PHPExcel_Cell_DataType::TYPE_FORMULA;
|
||||
$type = Cell_DataType::TYPE_FORMULA;
|
||||
// echo 'Formula: '.$cellDataFormula.'<br />';
|
||||
$cellDataFormula = substr($cellDataFormula,strpos($cellDataFormula,':=')+1);
|
||||
$temp = explode('"',$cellDataFormula);
|
||||
@ -616,7 +609,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
if ($tKey = !$tKey) {
|
||||
$value = preg_replace('/\[\.(.*):\.(.*)\]/Ui','$1:$2',$value);
|
||||
$value = preg_replace('/\[\.(.*)\]/Ui','$1',$value);
|
||||
$value = PHPExcel_Calculation::_translateSeparator(';',',',$value,$inBraces);
|
||||
$value = Calculation::_translateSeparator(';',',',$value,$inBraces);
|
||||
}
|
||||
}
|
||||
unset($value);
|
||||
@ -632,7 +625,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
if ($i > 0) {
|
||||
++$columnID;
|
||||
}
|
||||
if ($type !== PHPExcel_Cell_DataType::TYPE_NULL) {
|
||||
if ($type !== Cell_DataType::TYPE_NULL) {
|
||||
for ($rowAdjust = 0; $rowAdjust < $rowRepeats; ++$rowAdjust) {
|
||||
$rID = $rowID + $rowAdjust;
|
||||
$objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->setValueExplicit((($hasCalculatedValue) ? $cellDataFormula : $dataValue),$type);
|
||||
@ -643,7 +636,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
if ($formatting !== NULL) {
|
||||
$objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode($formatting);
|
||||
} else {
|
||||
$objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL);
|
||||
$objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode(Style_NumberFormat::FORMAT_GENERAL);
|
||||
}
|
||||
if ($hyperlink !== NULL) {
|
||||
$objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->getHyperlink()->setUrl($hyperlink);
|
||||
@ -655,10 +648,10 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
|
||||
// Merged cells
|
||||
if ((isset($cellDataTableAttributes['number-columns-spanned'])) || (isset($cellDataTableAttributes['number-rows-spanned']))) {
|
||||
if (($type !== PHPExcel_Cell_DataType::TYPE_NULL) || (!$this->_readDataOnly)) {
|
||||
if (($type !== Cell_DataType::TYPE_NULL) || (!$this->_readDataOnly)) {
|
||||
$columnTo = $columnID;
|
||||
if (isset($cellDataTableAttributes['number-columns-spanned'])) {
|
||||
$columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cellDataTableAttributes['number-columns-spanned'] -2);
|
||||
$columnTo = Cell::stringFromColumnIndex(Cell::columnIndexFromString($columnID) + $cellDataTableAttributes['number-columns-spanned'] -2);
|
||||
}
|
||||
$rowTo = $rowID;
|
||||
if (isset($cellDataTableAttributes['number-rows-spanned'])) {
|
||||
@ -685,7 +678,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
||||
|
||||
|
||||
private function _parseRichText($is = '') {
|
||||
$value = new PHPExcel_RichText();
|
||||
$value = new RichText();
|
||||
|
||||
$value->createText($is);
|
||||
|
||||
|
@ -19,30 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Reader_SYLK
|
||||
* PHPExcel\Reader_SYLK
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Reader
|
||||
* @package PHPExcel\Reader
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader
|
||||
class Reader_SYLK extends Reader_Abstract implements Reader_IReader
|
||||
{
|
||||
/**
|
||||
* Input encoding
|
||||
@ -73,10 +66,10 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
private $_format = 0;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_Reader_SYLK
|
||||
* Create a new PHPExcel\Reader_SYLK
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->_readFilter = new PHPExcel_Reader_DefaultReadFilter();
|
||||
$this->_readFilter = new Reader_DefaultReadFilter();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -129,7 +122,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns)
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function listWorksheetInfo($pFilename)
|
||||
{
|
||||
@ -137,7 +130,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
$this->_openFile($pFilename);
|
||||
if (!$this->_isValidFormat()) {
|
||||
fclose ($this->_fileHandle);
|
||||
throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
throw new Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
}
|
||||
$fileHandle = $this->_fileHandle;
|
||||
rewind($fileHandle);
|
||||
@ -158,7 +151,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
$columnIndex = 0;
|
||||
|
||||
// convert SYLK encoded $rowData to UTF-8
|
||||
$rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData);
|
||||
$rowData = Shared_String::SYLKtoUTF8($rowData);
|
||||
|
||||
// explode each row at semicolons while taking into account that literal semicolon (;)
|
||||
// is escaped like this (;;)
|
||||
@ -185,7 +178,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
}
|
||||
}
|
||||
|
||||
$worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']);
|
||||
$worksheetInfo[0]['lastColumnLetter'] = Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']);
|
||||
$worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1;
|
||||
|
||||
// Close file
|
||||
@ -199,12 +192,12 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
*
|
||||
* @param string $pFilename
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function load($pFilename)
|
||||
{
|
||||
// Create new PHPExcel
|
||||
$objPHPExcel = new PHPExcel();
|
||||
// Create new PHPExcel Workbook
|
||||
$objPHPExcel = new Workbook();
|
||||
|
||||
// Load into this instance
|
||||
return $this->loadIntoExisting($pFilename, $objPHPExcel);
|
||||
@ -216,7 +209,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
* @param string $pFilename
|
||||
* @param PHPExcel $objPHPExcel
|
||||
* @return PHPExcel
|
||||
* @throws PHPExcel_Reader_Exception
|
||||
* @throws PHPExcel\Reader_Exception
|
||||
*/
|
||||
public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel)
|
||||
{
|
||||
@ -224,7 +217,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
$this->_openFile($pFilename);
|
||||
if (!$this->_isValidFormat()) {
|
||||
fclose ($this->_fileHandle);
|
||||
throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
throw new Reader_Exception($pFilename . " is an Invalid Spreadsheet file.");
|
||||
}
|
||||
$fileHandle = $this->_fileHandle;
|
||||
rewind($fileHandle);
|
||||
@ -246,7 +239,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
while (($rowData = fgets($fileHandle)) !== FALSE) {
|
||||
|
||||
// convert SYLK encoded $rowData to UTF-8
|
||||
$rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData);
|
||||
$rowData = Shared_String::SYLKtoUTF8($rowData);
|
||||
|
||||
// explode each row at semicolons while taking into account that literal semicolon (;)
|
||||
// is escaped like this (;;)
|
||||
@ -272,13 +265,13 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
break;
|
||||
case 'D' : $formatArray['font']['bold'] = true;
|
||||
break;
|
||||
case 'T' : $formatArray['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'T' : $formatArray['borders']['top']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
case 'B' : $formatArray['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'B' : $formatArray['borders']['bottom']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
case 'L' : $formatArray['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'L' : $formatArray['borders']['left']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
case 'R' : $formatArray['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'R' : $formatArray['borders']['right']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -325,7 +318,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
if ($columnReference == '') $columnReference = $column;
|
||||
// Bracketed C references are relative to the current column
|
||||
if ($columnReference{0} == '[') $columnReference = $column + trim($columnReference,'[]');
|
||||
$A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
||||
$A1CellReference = Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
||||
|
||||
$value = substr_replace($value,$A1CellReference,$cellReference[0][1],strlen($cellReference[0][0]));
|
||||
}
|
||||
@ -338,13 +331,13 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
break;
|
||||
}
|
||||
}
|
||||
$columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1);
|
||||
$cellData = PHPExcel_Calculation::_unwrapResult($cellData);
|
||||
$columnLetter = Cell::stringFromColumnIndex($column-1);
|
||||
$cellData = Calculation::_unwrapResult($cellData);
|
||||
|
||||
// Set cell value
|
||||
$objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setValue(($hasCalculatedValue) ? $cellDataFormula : $cellData);
|
||||
if ($hasCalculatedValue) {
|
||||
$cellData = PHPExcel_Calculation::_unwrapResult($cellData);
|
||||
$cellData = Calculation::_unwrapResult($cellData);
|
||||
$objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setCalculatedValue($cellData);
|
||||
}
|
||||
// Read cell formatting
|
||||
@ -370,13 +363,13 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
break;
|
||||
case 'D' : $styleData['font']['bold'] = true;
|
||||
break;
|
||||
case 'T' : $styleData['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'T' : $styleData['borders']['top']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
case 'B' : $styleData['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'B' : $styleData['borders']['bottom']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
case 'L' : $styleData['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'L' : $styleData['borders']['left']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
case 'R' : $styleData['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN;
|
||||
case 'R' : $styleData['borders']['right']['style'] = Style_Border::BORDER_THIN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -384,22 +377,22 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
}
|
||||
}
|
||||
if (($formatStyle > '') && ($column > '') && ($row > '')) {
|
||||
$columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1);
|
||||
$columnLetter = Cell::stringFromColumnIndex($column-1);
|
||||
if (isset($this->_formats[$formatStyle])) {
|
||||
$objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($this->_formats[$formatStyle]);
|
||||
}
|
||||
}
|
||||
if ((!empty($styleData)) && ($column > '') && ($row > '')) {
|
||||
$columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1);
|
||||
$columnLetter = Cell::stringFromColumnIndex($column-1);
|
||||
$objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($styleData);
|
||||
}
|
||||
if ($columnWidth > '') {
|
||||
if ($startCol == $endCol) {
|
||||
$startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1);
|
||||
$startCol = Cell::stringFromColumnIndex($startCol-1);
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth);
|
||||
} else {
|
||||
$startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1);
|
||||
$endCol = PHPExcel_Cell::stringFromColumnIndex($endCol-1);
|
||||
$startCol = Cell::stringFromColumnIndex($startCol-1);
|
||||
$endCol = Cell::stringFromColumnIndex($endCol-1);
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth);
|
||||
do {
|
||||
$objPHPExcel->getActiveSheet()->getColumnDimension(++$startCol)->setWidth($columnWidth);
|
||||
@ -440,7 +433,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
||||
* Set sheet index
|
||||
*
|
||||
* @param int $pValue Sheet index
|
||||
* @return PHPExcel_Reader_SYLK
|
||||
* @return PHPExcel\Reader_SYLK
|
||||
*/
|
||||
public function setSheetIndex($pValue = 0) {
|
||||
$this->_sheetIndex = $pValue;
|
||||
|
@ -26,14 +26,16 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_ReferenceHelper (Singleton)
|
||||
* PHPExcel\ReferenceHelper (Singleton)
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_ReferenceHelper
|
||||
class ReferenceHelper
|
||||
{
|
||||
/** Constants */
|
||||
/** Regular Expressions */
|
||||
@ -45,25 +47,25 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Instance of this class
|
||||
*
|
||||
* @var PHPExcel_ReferenceHelper
|
||||
* @var PHPExcel\ReferenceHelper
|
||||
*/
|
||||
private static $_instance;
|
||||
|
||||
/**
|
||||
* Get an instance of this class
|
||||
*
|
||||
* @return PHPExcel_ReferenceHelper
|
||||
* @return PHPExcel\ReferenceHelper
|
||||
*/
|
||||
public static function getInstance() {
|
||||
if (!isset(self::$_instance) || (self::$_instance === NULL)) {
|
||||
self::$_instance = new PHPExcel_ReferenceHelper();
|
||||
self::$_instance = new ReferenceHelper();
|
||||
}
|
||||
|
||||
return self::$_instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_ReferenceHelper
|
||||
* Create a new PHPExcel\ReferenceHelper
|
||||
*/
|
||||
protected function __construct() {
|
||||
}
|
||||
@ -139,8 +141,8 @@ class PHPExcel_ReferenceHelper
|
||||
* @return boolean
|
||||
*/
|
||||
private static function cellAddressInDeleteRange($cellAddress, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols) {
|
||||
list($cellColumn, $cellRow) = PHPExcel_Cell::coordinateFromString($cellAddress);
|
||||
$cellColumnIndex = PHPExcel_Cell::columnIndexFromString($cellColumn);
|
||||
list($cellColumn, $cellRow) = Cell::coordinateFromString($cellAddress);
|
||||
$cellColumnIndex = Cell::columnIndexFromString($cellColumn);
|
||||
// Is cell within the range of rows/columns if we're deleting
|
||||
if ($pNumRows < 0 &&
|
||||
($cellRow >= ($beforeRow + $pNumRows)) &&
|
||||
@ -157,32 +159,32 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update page breaks when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
* @param integer $beforeRow Number of the row we're inserting/deleting before
|
||||
* @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion)
|
||||
*/
|
||||
protected function _adjustPageBreaks(PHPExcel_Worksheet $pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows)
|
||||
protected function _adjustPageBreaks(Worksheet $pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows)
|
||||
{
|
||||
$aBreaks = $pSheet->getBreaks();
|
||||
($pNumCols > 0 || $pNumRows > 0) ?
|
||||
uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellSort'));
|
||||
uksort($aBreaks, array(__NAMESPACE__ . '\ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aBreaks, array(__NAMESPACE__ . '\ReferenceHelper','cellSort'));
|
||||
|
||||
foreach ($aBreaks as $key => $value) {
|
||||
if (self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) {
|
||||
// If we're deleting, then clear any defined breaks that are within the range
|
||||
// of rows/columns that we're deleting
|
||||
$pSheet->setBreak($key, PHPExcel_Worksheet::BREAK_NONE);
|
||||
$pSheet->setBreak($key, Worksheet::BREAK_NONE);
|
||||
} else {
|
||||
// Otherwise update any affected breaks by inserting a new break at the appropriate point
|
||||
// and removing the old affected break
|
||||
$newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows);
|
||||
if ($key != $newReference) {
|
||||
$pSheet->setBreak($newReference, $value)
|
||||
->setBreak($key, PHPExcel_Worksheet::BREAK_NONE);
|
||||
->setBreak($key, Worksheet::BREAK_NONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -191,7 +193,7 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update cell comments when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
@ -218,7 +220,7 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update hyperlinks when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
@ -229,8 +231,8 @@ class PHPExcel_ReferenceHelper
|
||||
{
|
||||
$aHyperlinkCollection = $pSheet->getHyperlinkCollection();
|
||||
($pNumCols > 0 || $pNumRows > 0) ?
|
||||
uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellSort'));
|
||||
uksort($aHyperlinkCollection, array(__NAMESPACE__ . '\ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aHyperlinkCollection, array(__NAMESPACE__ . '\ReferenceHelper','cellSort'));
|
||||
|
||||
foreach ($aHyperlinkCollection as $key => $value) {
|
||||
$newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows);
|
||||
@ -244,7 +246,7 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update data validations when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
@ -255,8 +257,8 @@ class PHPExcel_ReferenceHelper
|
||||
{
|
||||
$aDataValidationCollection = $pSheet->getDataValidationCollection();
|
||||
($pNumCols > 0 || $pNumRows > 0) ?
|
||||
uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellSort'));
|
||||
uksort($aDataValidationCollection, array(__NAMESPACE__ . '\ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aDataValidationCollection, array(__NAMESPACE__ . '\ReferenceHelper','cellSort'));
|
||||
foreach ($aDataValidationCollection as $key => $value) {
|
||||
$newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows);
|
||||
if ($key != $newReference) {
|
||||
@ -269,7 +271,7 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update merged cells when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
@ -290,7 +292,7 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update protected cells when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
@ -301,8 +303,8 @@ class PHPExcel_ReferenceHelper
|
||||
{
|
||||
$aProtectedCells = $pSheet->getProtectedCells();
|
||||
($pNumCols > 0 || $pNumRows > 0) ?
|
||||
uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellSort'));
|
||||
uksort($aProtectedCells, array(__NAMESPACE__ . '\ReferenceHelper','cellReverseSort')) :
|
||||
uksort($aProtectedCells, array(__NAMESPACE__ . '\ReferenceHelper','cellSort'));
|
||||
foreach ($aProtectedCells as $key => $value) {
|
||||
$newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows);
|
||||
if ($key != $newReference) {
|
||||
@ -315,7 +317,7 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update column dimensions when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
@ -328,7 +330,7 @@ class PHPExcel_ReferenceHelper
|
||||
if (!empty($aColumnDimensions)) {
|
||||
foreach ($aColumnDimensions as $objColumnDimension) {
|
||||
$newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows);
|
||||
list($newReference) = PHPExcel_Cell::coordinateFromString($newReference);
|
||||
list($newReference) = Cell::coordinateFromString($newReference);
|
||||
if ($objColumnDimension->getColumnIndex() != $newReference) {
|
||||
$objColumnDimension->setColumnIndex($newReference);
|
||||
}
|
||||
@ -340,7 +342,7 @@ class PHPExcel_ReferenceHelper
|
||||
/**
|
||||
* Update row dimensions when inserting/deleting rows/columns
|
||||
*
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
|
||||
* @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
@ -353,7 +355,7 @@ class PHPExcel_ReferenceHelper
|
||||
if (!empty($aRowDimensions)) {
|
||||
foreach ($aRowDimensions as $objRowDimension) {
|
||||
$newReference = $this->updateCellReference('A' . $objRowDimension->getRowIndex(), $pBefore, $pNumCols, $pNumRows);
|
||||
list(, $newReference) = PHPExcel_Cell::coordinateFromString($newReference);
|
||||
list(, $newReference) = Cell::coordinateFromString($newReference);
|
||||
if ($objRowDimension->getRowIndex() != $newReference) {
|
||||
$objRowDimension->setRowIndex($newReference);
|
||||
}
|
||||
@ -377,10 +379,10 @@ class PHPExcel_ReferenceHelper
|
||||
* @param string $pBefore Insert before this cell address (e.g. 'A1')
|
||||
* @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion)
|
||||
* @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion)
|
||||
* @param PHPExcel_Worksheet $pSheet The worksheet that we're editing
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Worksheet $pSheet The worksheet that we're editing
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function insertNewBefore($pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, PHPExcel_Worksheet $pSheet = NULL)
|
||||
public function insertNewBefore($pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, Worksheet $pSheet = NULL)
|
||||
{
|
||||
$remove = ($pNumCols < 0 || $pNumRows < 0);
|
||||
$aCellCollection = $pSheet->getCellCollection();
|
||||
@ -388,8 +390,8 @@ class PHPExcel_ReferenceHelper
|
||||
// Get coordinates of $pBefore
|
||||
$beforeColumn = 'A';
|
||||
$beforeRow = 1;
|
||||
list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString($pBefore);
|
||||
$beforeColumnIndex = PHPExcel_Cell::columnIndexFromString($beforeColumn);
|
||||
list($beforeColumn, $beforeRow) = Cell::coordinateFromString($pBefore);
|
||||
$beforeColumnIndex = Cell::columnIndexFromString($beforeColumn);
|
||||
|
||||
// Clear cells if we are removing columns or rows
|
||||
$highestColumn = $pSheet->getHighestColumn();
|
||||
@ -399,10 +401,10 @@ class PHPExcel_ReferenceHelper
|
||||
if ($pNumCols < 0 && $beforeColumnIndex - 2 + $pNumCols > 0) {
|
||||
for ($i = 1; $i <= $highestRow - 1; ++$i) {
|
||||
for ($j = $beforeColumnIndex - 1 + $pNumCols; $j <= $beforeColumnIndex - 2; ++$j) {
|
||||
$coordinate = PHPExcel_Cell::stringFromColumnIndex($j) . $i;
|
||||
$coordinate = Cell::stringFromColumnIndex($j) . $i;
|
||||
$pSheet->removeConditionalStyles($coordinate);
|
||||
if ($pSheet->cellExists($coordinate)) {
|
||||
$pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL);
|
||||
$pSheet->getCell($coordinate)->setValueExplicit('', Cell_DataType::TYPE_NULL);
|
||||
$pSheet->getCell($coordinate)->setXfIndex(0);
|
||||
}
|
||||
}
|
||||
@ -411,12 +413,12 @@ class PHPExcel_ReferenceHelper
|
||||
|
||||
// 2. Clear row strips if we are removing rows
|
||||
if ($pNumRows < 0 && $beforeRow - 1 + $pNumRows > 0) {
|
||||
for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) {
|
||||
for ($i = $beforeColumnIndex - 1; $i <= Cell::columnIndexFromString($highestColumn) - 1; ++$i) {
|
||||
for ($j = $beforeRow + $pNumRows; $j <= $beforeRow - 1; ++$j) {
|
||||
$coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . $j;
|
||||
$coordinate = Cell::stringFromColumnIndex($i) . $j;
|
||||
$pSheet->removeConditionalStyles($coordinate);
|
||||
if ($pSheet->cellExists($coordinate)) {
|
||||
$pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL);
|
||||
$pSheet->getCell($coordinate)->setValueExplicit('', Cell_DataType::TYPE_NULL);
|
||||
$pSheet->getCell($coordinate)->setXfIndex(0);
|
||||
}
|
||||
}
|
||||
@ -426,13 +428,13 @@ class PHPExcel_ReferenceHelper
|
||||
// Loop through cells, bottom-up, and change cell coordinates
|
||||
while (($cellID = $remove ? array_shift($aCellCollection) : array_pop($aCellCollection))) {
|
||||
$cell = $pSheet->getCell($cellID);
|
||||
$cellIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn());
|
||||
$cellIndex = Cell::columnIndexFromString($cell->getColumn());
|
||||
if ($cellIndex-1 + $pNumCols < 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// New coordinates
|
||||
$newCoordinates = PHPExcel_Cell::stringFromColumnIndex($cellIndex-1 + $pNumCols) . ($cell->getRow() + $pNumRows);
|
||||
$newCoordinates = Cell::stringFromColumnIndex($cellIndex-1 + $pNumCols) . ($cell->getRow() + $pNumRows);
|
||||
|
||||
// Should the cell be updated? Move value and cellXf index from one cell to another.
|
||||
if (($cellIndex >= $beforeColumnIndex) &&
|
||||
@ -442,7 +444,7 @@ class PHPExcel_ReferenceHelper
|
||||
$pSheet->getCell($newCoordinates)->setXfIndex($cell->getXfIndex());
|
||||
|
||||
// Insert this cell at its new location
|
||||
if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) {
|
||||
if ($cell->getDataType() == Cell_DataType::TYPE_FORMULA) {
|
||||
// Formula should be adjusted
|
||||
$pSheet->getCell($newCoordinates)
|
||||
->setValue($this->updateFormulaReferences($cell->getValue(),
|
||||
@ -458,7 +460,7 @@ class PHPExcel_ReferenceHelper
|
||||
} else {
|
||||
/* We don't need to update styles for rows/columns before our insertion position,
|
||||
but we do still need to adjust any formulae in those cells */
|
||||
if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) {
|
||||
if ($cell->getDataType() == Cell_DataType::TYPE_FORMULA) {
|
||||
// Formula should be adjusted
|
||||
$cell->setValue($this->updateFormulaReferences($cell->getValue(),
|
||||
$pBefore, $pNumCols, $pNumRows, $pSheet->getTitle()));
|
||||
@ -475,7 +477,7 @@ class PHPExcel_ReferenceHelper
|
||||
for ($i = $beforeRow; $i <= $highestRow - 1; ++$i) {
|
||||
|
||||
// Style
|
||||
$coordinate = PHPExcel_Cell::stringFromColumnIndex( $beforeColumnIndex - 2 ) . $i;
|
||||
$coordinate = Cell::stringFromColumnIndex( $beforeColumnIndex - 2 ) . $i;
|
||||
if ($pSheet->cellExists($coordinate)) {
|
||||
$xfIndex = $pSheet->getCell($coordinate)->getXfIndex();
|
||||
$conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ?
|
||||
@ -487,7 +489,7 @@ class PHPExcel_ReferenceHelper
|
||||
foreach ($conditionalStyles as $conditionalStyle) {
|
||||
$cloned[] = clone $conditionalStyle;
|
||||
}
|
||||
$pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($j) . $i, $cloned);
|
||||
$pSheet->setConditionalStyles(Cell::stringFromColumnIndex($j) . $i, $cloned);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -496,22 +498,22 @@ class PHPExcel_ReferenceHelper
|
||||
}
|
||||
|
||||
if ($pNumRows > 0 && $beforeRow - 1 > 0) {
|
||||
for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) {
|
||||
for ($i = $beforeColumnIndex - 1; $i <= Cell::columnIndexFromString($highestColumn) - 1; ++$i) {
|
||||
|
||||
// Style
|
||||
$coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1);
|
||||
$coordinate = Cell::stringFromColumnIndex($i) . ($beforeRow - 1);
|
||||
if ($pSheet->cellExists($coordinate)) {
|
||||
$xfIndex = $pSheet->getCell($coordinate)->getXfIndex();
|
||||
$conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ?
|
||||
$pSheet->getConditionalStyles($coordinate) : false;
|
||||
for ($j = $beforeRow; $j <= $beforeRow - 1 + $pNumRows; ++$j) {
|
||||
$pSheet->getCell(PHPExcel_Cell::stringFromColumnIndex($i) . $j)->setXfIndex($xfIndex);
|
||||
$pSheet->getCell(Cell::stringFromColumnIndex($i) . $j)->setXfIndex($xfIndex);
|
||||
if ($conditionalStyles) {
|
||||
$cloned = array();
|
||||
foreach ($conditionalStyles as $conditionalStyle) {
|
||||
$cloned[] = clone $conditionalStyle;
|
||||
}
|
||||
$pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($i) . $j, $cloned);
|
||||
$pSheet->setConditionalStyles(Cell::stringFromColumnIndex($i) . $j, $cloned);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -550,8 +552,8 @@ class PHPExcel_ReferenceHelper
|
||||
$autoFilterColumns = array_keys($autoFilter->getColumns());
|
||||
if (count($autoFilterColumns) > 0) {
|
||||
sscanf($pBefore,'%[A-Z]%d', $column, $row);
|
||||
$columnIndex = PHPExcel_Cell::columnIndexFromString($column);
|
||||
list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($autoFilterRange);
|
||||
$columnIndex = Cell::columnIndexFromString($column);
|
||||
list($rangeStart,$rangeEnd) = Cell::rangeBoundaries($autoFilterRange);
|
||||
if ($columnIndex <= $rangeEnd[0]) {
|
||||
if ($pNumCols < 0) {
|
||||
// If we're actually deleting any columns that fall within the autofilter range,
|
||||
@ -559,8 +561,8 @@ class PHPExcel_ReferenceHelper
|
||||
$deleteColumn = $columnIndex + $pNumCols - 1;
|
||||
$deleteCount = abs($pNumCols);
|
||||
for ($i = 1; $i <= $deleteCount; ++$i) {
|
||||
if (in_array(PHPExcel_Cell::stringFromColumnIndex($deleteColumn),$autoFilterColumns)) {
|
||||
$autoFilter->clearColumn(PHPExcel_Cell::stringFromColumnIndex($deleteColumn));
|
||||
if (in_array(Cell::stringFromColumnIndex($deleteColumn),$autoFilterColumns)) {
|
||||
$autoFilter->clearColumn(Cell::stringFromColumnIndex($deleteColumn));
|
||||
}
|
||||
++$deleteColumn;
|
||||
}
|
||||
@ -570,24 +572,24 @@ class PHPExcel_ReferenceHelper
|
||||
// Shuffle columns in autofilter range
|
||||
if ($pNumCols > 0) {
|
||||
// For insert, we shuffle from end to beginning to avoid overwriting
|
||||
$startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1);
|
||||
$toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1);
|
||||
$endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]);
|
||||
$startColID = Cell::stringFromColumnIndex($startCol-1);
|
||||
$toColID = Cell::stringFromColumnIndex($startCol+$pNumCols-1);
|
||||
$endColID = Cell::stringFromColumnIndex($rangeEnd[0]);
|
||||
|
||||
$startColRef = $startCol;
|
||||
$endColRef = $rangeEnd[0];
|
||||
$toColRef = $rangeEnd[0]+$pNumCols;
|
||||
|
||||
do {
|
||||
$autoFilter->shiftColumn(PHPExcel_Cell::stringFromColumnIndex($endColRef-1),PHPExcel_Cell::stringFromColumnIndex($toColRef-1));
|
||||
$autoFilter->shiftColumn(Cell::stringFromColumnIndex($endColRef-1),Cell::stringFromColumnIndex($toColRef-1));
|
||||
--$endColRef;
|
||||
--$toColRef;
|
||||
} while ($startColRef <= $endColRef);
|
||||
} else {
|
||||
// For delete, we shuffle from beginning to end to avoid overwriting
|
||||
$startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1);
|
||||
$toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1);
|
||||
$endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]);
|
||||
$startColID = Cell::stringFromColumnIndex($startCol-1);
|
||||
$toColID = Cell::stringFromColumnIndex($startCol+$pNumCols-1);
|
||||
$endColID = Cell::stringFromColumnIndex($rangeEnd[0]);
|
||||
do {
|
||||
$autoFilter->shiftColumn($startColID,$toColID);
|
||||
++$startColID;
|
||||
@ -643,7 +645,7 @@ class PHPExcel_ReferenceHelper
|
||||
* @param int $pNumRows Number of rows to insert
|
||||
* @param string $sheetName Worksheet name/title
|
||||
* @return string Updated formula
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function updateFormulaReferences($pFormula = '', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, $sheetName = '') {
|
||||
// Update cell references in the formula
|
||||
@ -693,7 +695,7 @@ class PHPExcel_ReferenceHelper
|
||||
$toString = ($match[2] > '') ? $match[2].'!' : '';
|
||||
$toString .= $modified3.':'.$modified4;
|
||||
// Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more
|
||||
$column = PHPExcel_Cell::columnIndexFromString(trim($match[3],'$')) + 100000;
|
||||
$column = Cell::columnIndexFromString(trim($match[3],'$')) + 100000;
|
||||
$row = 10000000;
|
||||
$cellIndex = $column.$row;
|
||||
|
||||
@ -717,9 +719,9 @@ class PHPExcel_ReferenceHelper
|
||||
if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) {
|
||||
$toString = ($match[2] > '') ? $match[2].'!' : '';
|
||||
$toString .= $modified3.':'.$modified4;
|
||||
list($column,$row) = PHPExcel_Cell::coordinateFromString($match[3]);
|
||||
list($column,$row) = Cell::coordinateFromString($match[3]);
|
||||
// Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more
|
||||
$column = PHPExcel_Cell::columnIndexFromString(trim($column,'$')) + 100000;
|
||||
$column = Cell::columnIndexFromString(trim($column,'$')) + 100000;
|
||||
$row = trim($row,'$') + 10000000;
|
||||
$cellIndex = $column.$row;
|
||||
|
||||
@ -742,9 +744,9 @@ class PHPExcel_ReferenceHelper
|
||||
if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) {
|
||||
$toString = ($match[2] > '') ? $match[2].'!' : '';
|
||||
$toString .= $modified3;
|
||||
list($column,$row) = PHPExcel_Cell::coordinateFromString($match[3]);
|
||||
list($column,$row) = Cell::coordinateFromString($match[3]);
|
||||
// Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more
|
||||
$column = PHPExcel_Cell::columnIndexFromString(trim($column,'$')) + 100000;
|
||||
$column = Cell::columnIndexFromString(trim($column,'$')) + 100000;
|
||||
$row = trim($row,'$') + 10000000;
|
||||
$cellIndex = $column.$row;
|
||||
|
||||
@ -782,7 +784,7 @@ class PHPExcel_ReferenceHelper
|
||||
* @param int $pNumCols Number of columns to increment
|
||||
* @param int $pNumRows Number of rows to increment
|
||||
* @return string Updated cell range
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function updateCellReference($pCellRange = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) {
|
||||
// Is it in another worksheet? Will not have to update anything.
|
||||
@ -808,7 +810,7 @@ class PHPExcel_ReferenceHelper
|
||||
* @param string $oldName Old name (name to replace)
|
||||
* @param string $newName New name
|
||||
*/
|
||||
public function updateNamedFormulas(PHPExcel $pPhpExcel, $oldName = '', $newName = '') {
|
||||
public function updateNamedFormulas(Workbook $pPhpExcel, $oldName = '', $newName = '') {
|
||||
if ($oldName == '') {
|
||||
return;
|
||||
}
|
||||
@ -816,12 +818,12 @@ class PHPExcel_ReferenceHelper
|
||||
foreach ($pPhpExcel->getWorksheetIterator() as $sheet) {
|
||||
foreach ($sheet->getCellCollection(false) as $cellID) {
|
||||
$cell = $sheet->getCell($cellID);
|
||||
if (($cell !== NULL) && ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA)) {
|
||||
if (($cell !== NULL) && ($cell->getDataType() == Cell_DataType::TYPE_FORMULA)) {
|
||||
$formula = $cell->getValue();
|
||||
if (strpos($formula, $oldName) !== false) {
|
||||
$formula = str_replace("'" . $oldName . "'!", "'" . $newName . "'!", $formula);
|
||||
$formula = str_replace($oldName . "!", $newName . "!", $formula);
|
||||
$cell->setValueExplicit($formula, PHPExcel_Cell_DataType::TYPE_FORMULA);
|
||||
$cell->setValueExplicit($formula, Cell_DataType::TYPE_FORMULA);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -836,21 +838,21 @@ class PHPExcel_ReferenceHelper
|
||||
* @param int $pNumCols Number of columns to increment
|
||||
* @param int $pNumRows Number of rows to increment
|
||||
* @return string Updated cell range
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
private function _updateCellRange($pCellRange = 'A1:A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) {
|
||||
if (strpos($pCellRange,':') !== false || strpos($pCellRange, ',') !== false) {
|
||||
// Update range
|
||||
$range = PHPExcel_Cell::splitRange($pCellRange);
|
||||
$range = Cell::splitRange($pCellRange);
|
||||
$ic = count($range);
|
||||
for ($i = 0; $i < $ic; ++$i) {
|
||||
$jc = count($range[$i]);
|
||||
for ($j = 0; $j < $jc; ++$j) {
|
||||
if (ctype_alpha($range[$i][$j])) {
|
||||
$r = PHPExcel_Cell::coordinateFromString($this->_updateSingleCellReference($range[$i][$j].'1', $pBefore, $pNumCols, $pNumRows));
|
||||
$r = Cell::coordinateFromString($this->_updateSingleCellReference($range[$i][$j].'1', $pBefore, $pNumCols, $pNumRows));
|
||||
$range[$i][$j] = $r[0];
|
||||
} elseif(ctype_digit($range[$i][$j])) {
|
||||
$r = PHPExcel_Cell::coordinateFromString($this->_updateSingleCellReference('A'.$range[$i][$j], $pBefore, $pNumCols, $pNumRows));
|
||||
$r = Cell::coordinateFromString($this->_updateSingleCellReference('A'.$range[$i][$j], $pBefore, $pNumCols, $pNumRows));
|
||||
$range[$i][$j] = $r[1];
|
||||
} else {
|
||||
$range[$i][$j] = $this->_updateSingleCellReference($range[$i][$j], $pBefore, $pNumCols, $pNumRows);
|
||||
@ -859,9 +861,9 @@ class PHPExcel_ReferenceHelper
|
||||
}
|
||||
|
||||
// Recreate range string
|
||||
return PHPExcel_Cell::buildRange($range);
|
||||
return Cell::buildRange($range);
|
||||
} else {
|
||||
throw new PHPExcel_Exception("Only cell ranges may be passed to this method.");
|
||||
throw new Exception("Only cell ranges may be passed to this method.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -873,26 +875,26 @@ class PHPExcel_ReferenceHelper
|
||||
* @param int $pNumCols Number of columns to increment
|
||||
* @param int $pNumRows Number of rows to increment
|
||||
* @return string Updated cell reference
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
private function _updateSingleCellReference($pCellReference = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) {
|
||||
if (strpos($pCellReference, ':') === false && strpos($pCellReference, ',') === false) {
|
||||
// Get coordinates of $pBefore
|
||||
list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString( $pBefore );
|
||||
list($beforeColumn, $beforeRow) = Cell::coordinateFromString( $pBefore );
|
||||
|
||||
// Get coordinates of $pCellReference
|
||||
list($newColumn, $newRow) = PHPExcel_Cell::coordinateFromString( $pCellReference );
|
||||
list($newColumn, $newRow) = Cell::coordinateFromString( $pCellReference );
|
||||
|
||||
// Verify which parts should be updated
|
||||
$updateColumn = (($newColumn{0} != '$') && ($beforeColumn{0} != '$') &&
|
||||
PHPExcel_Cell::columnIndexFromString($newColumn) >= PHPExcel_Cell::columnIndexFromString($beforeColumn));
|
||||
Cell::columnIndexFromString($newColumn) >= Cell::columnIndexFromString($beforeColumn));
|
||||
|
||||
$updateRow = (($newRow{0} != '$') && ($beforeRow{0} != '$') &&
|
||||
$newRow >= $beforeRow);
|
||||
|
||||
// Create new column reference
|
||||
if ($updateColumn) {
|
||||
$newColumn = PHPExcel_Cell::stringFromColumnIndex( PHPExcel_Cell::columnIndexFromString($newColumn) - 1 + $pNumCols );
|
||||
$newColumn = Cell::stringFromColumnIndex( Cell::columnIndexFromString($newColumn) - 1 + $pNumCols );
|
||||
}
|
||||
|
||||
// Create new row reference
|
||||
@ -903,16 +905,16 @@ class PHPExcel_ReferenceHelper
|
||||
// Return new reference
|
||||
return $newColumn . $newRow;
|
||||
} else {
|
||||
throw new PHPExcel_Exception("Only single cell references may be passed to this method.");
|
||||
throw new Exception("Only single cell references may be passed to this method.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* __clone implementation. Cloning should not be allowed in a Singleton!
|
||||
*
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public final function __clone() {
|
||||
throw new PHPExcel_Exception("Cloning a Singleton is not allowed!");
|
||||
throw new Exception("Cloning a Singleton is not allowed!");
|
||||
}
|
||||
}
|
||||
|
@ -19,36 +19,38 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_RichText
|
||||
* PHPExcel\RichText
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_RichText implements PHPExcel_IComparable
|
||||
class RichText implements IComparable
|
||||
{
|
||||
/**
|
||||
* Rich text elements
|
||||
*
|
||||
* @var PHPExcel_RichText_ITextElement[]
|
||||
* @var PHPExcel\RichText_ITextElement[]
|
||||
*/
|
||||
private $_richTextElements;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_RichText instance
|
||||
* Create a new PHPExcel\RichText instance
|
||||
*
|
||||
* @param PHPExcel_Cell $pCell
|
||||
* @throws PHPExcel_Exception
|
||||
* @param PHPExcel\Cell $pCell
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function __construct(PHPExcel_Cell $pCell = null)
|
||||
public function __construct(Cell $pCell = null)
|
||||
{
|
||||
// Initialise variables
|
||||
$this->_richTextElements = array();
|
||||
@ -57,24 +59,24 @@ class PHPExcel_RichText implements PHPExcel_IComparable
|
||||
if ($pCell !== NULL) {
|
||||
// Add cell text and style
|
||||
if ($pCell->getValue() != "") {
|
||||
$objRun = new PHPExcel_RichText_Run($pCell->getValue());
|
||||
$objRun = new RichText_Run($pCell->getValue());
|
||||
$objRun->setFont(clone $pCell->getParent()->getStyle($pCell->getCoordinate())->getFont());
|
||||
$this->addText($objRun);
|
||||
}
|
||||
|
||||
// Set parent value
|
||||
$pCell->setValueExplicit($this, PHPExcel_Cell_DataType::TYPE_STRING);
|
||||
$pCell->setValueExplicit($this, Cell_DataType::TYPE_STRING);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add text
|
||||
*
|
||||
* @param PHPExcel_RichText_ITextElement $pText Rich text element
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_RichText
|
||||
* @param PHPExcel\RichText_ITextElement $pText Rich text element
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\RichText
|
||||
*/
|
||||
public function addText(PHPExcel_RichText_ITextElement $pText = null)
|
||||
public function addText(RichText_ITextElement $pText = null)
|
||||
{
|
||||
$this->_richTextElements[] = $pText;
|
||||
return $this;
|
||||
@ -84,12 +86,12 @@ class PHPExcel_RichText implements PHPExcel_IComparable
|
||||
* Create text
|
||||
*
|
||||
* @param string $pText Text
|
||||
* @return PHPExcel_RichText_TextElement
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel\RichText_TextElement
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function createText($pText = '')
|
||||
{
|
||||
$objText = new PHPExcel_RichText_TextElement($pText);
|
||||
$objText = new RichText_TextElement($pText);
|
||||
$this->addText($objText);
|
||||
return $objText;
|
||||
}
|
||||
@ -98,12 +100,12 @@ class PHPExcel_RichText implements PHPExcel_IComparable
|
||||
* Create text run
|
||||
*
|
||||
* @param string $pText Text
|
||||
* @return PHPExcel_RichText_Run
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel\RichText_Run
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public function createTextRun($pText = '')
|
||||
{
|
||||
$objText = new PHPExcel_RichText_Run($pText);
|
||||
$objText = new RichText_Run($pText);
|
||||
$this->addText($objText);
|
||||
return $objText;
|
||||
}
|
||||
@ -118,7 +120,7 @@ class PHPExcel_RichText implements PHPExcel_IComparable
|
||||
// Return value
|
||||
$returnValue = '';
|
||||
|
||||
// Loop through all PHPExcel_RichText_ITextElement
|
||||
// Loop through all PHPExcel\RichText_ITextElement
|
||||
foreach ($this->_richTextElements as $text) {
|
||||
$returnValue .= $text->getText();
|
||||
}
|
||||
@ -140,7 +142,7 @@ class PHPExcel_RichText implements PHPExcel_IComparable
|
||||
/**
|
||||
* Get Rich Text elements
|
||||
*
|
||||
* @return PHPExcel_RichText_ITextElement[]
|
||||
* @return PHPExcel\RichText_ITextElement[]
|
||||
*/
|
||||
public function getRichTextElements()
|
||||
{
|
||||
@ -150,16 +152,16 @@ class PHPExcel_RichText implements PHPExcel_IComparable
|
||||
/**
|
||||
* Set Rich Text elements
|
||||
*
|
||||
* @param PHPExcel_RichText_ITextElement[] $pElements Array of elements
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_RichText
|
||||
* @param PHPExcel\RichText_ITextElement[] $pElements Array of elements
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\RichText
|
||||
*/
|
||||
public function setRichTextElements($pElements = null)
|
||||
{
|
||||
if (is_array($pElements)) {
|
||||
$this->_richTextElements = $pElements;
|
||||
} else {
|
||||
throw new PHPExcel_Exception("Invalid PHPExcel_RichText_ITextElement[] array passed.");
|
||||
throw new Exception("Invalid PHPExcel\RichText_ITextElement[] array passed.");
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
@ -17,21 +17,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_RichText_ITextElement
|
||||
* PHPExcel\RichText_ITextElement
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
interface PHPExcel_RichText_ITextElement
|
||||
interface RichText_ITextElement
|
||||
{
|
||||
/**
|
||||
* Get text
|
||||
@ -44,14 +46,14 @@ interface PHPExcel_RichText_ITextElement
|
||||
* Set text
|
||||
*
|
||||
* @param $pText string Text
|
||||
* @return PHPExcel_RichText_ITextElement
|
||||
* @return PHPExcel\RichText_ITextElement
|
||||
*/
|
||||
public function setText($pText = '');
|
||||
|
||||
/**
|
||||
* Get font
|
||||
*
|
||||
* @return PHPExcel_Style_Font
|
||||
* @return PHPExcel\Style_Font
|
||||
*/
|
||||
public function getFont();
|
||||
|
||||
|
@ -17,31 +17,33 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_RichText_Run
|
||||
* PHPExcel\RichText_Run
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_RichText_Run extends PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement
|
||||
class RichText_Run extends RichText_TextElement implements RichText_ITextElement
|
||||
{
|
||||
/**
|
||||
* Font
|
||||
*
|
||||
* @var PHPExcel_Style_Font
|
||||
* @var PHPExcel\Style_Font
|
||||
*/
|
||||
private $_font;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_RichText_Run instance
|
||||
* Create a new PHPExcel\RichText_Run instance
|
||||
*
|
||||
* @param string $pText Text
|
||||
*/
|
||||
@ -49,13 +51,13 @@ class PHPExcel_RichText_Run extends PHPExcel_RichText_TextElement implements PHP
|
||||
{
|
||||
// Initialise variables
|
||||
$this->setText($pText);
|
||||
$this->_font = new PHPExcel_Style_Font();
|
||||
$this->_font = new Style_Font();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get font
|
||||
*
|
||||
* @return PHPExcel_Style_Font
|
||||
* @return PHPExcel\Style_Font
|
||||
*/
|
||||
public function getFont() {
|
||||
return $this->_font;
|
||||
@ -64,11 +66,11 @@ class PHPExcel_RichText_Run extends PHPExcel_RichText_TextElement implements PHP
|
||||
/**
|
||||
* Set font
|
||||
*
|
||||
* @param PHPExcel_Style_Font $pFont Font
|
||||
* @throws PHPExcel_Exception
|
||||
* @return PHPExcel_RichText_ITextElement
|
||||
* @param PHPExcel\Style_Font $pFont Font
|
||||
* @throws PHPExcel\Exception
|
||||
* @return PHPExcel\RichText_ITextElement
|
||||
*/
|
||||
public function setFont(PHPExcel_Style_Font $pFont = null) {
|
||||
public function setFont(Style_Font $pFont = null) {
|
||||
$this->_font = $pFont;
|
||||
return $this;
|
||||
}
|
||||
|
@ -17,21 +17,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_RichText_TextElement
|
||||
* PHPExcel\RichText_TextElement
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_RichText
|
||||
* @package PHPExcel\RichText
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement
|
||||
class RichText_TextElement implements RichText_ITextElement
|
||||
{
|
||||
/**
|
||||
* Text
|
||||
@ -41,7 +43,7 @@ class PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement
|
||||
private $_text;
|
||||
|
||||
/**
|
||||
* Create a new PHPExcel_RichText_TextElement instance
|
||||
* Create a new PHPExcel\RichText_TextElement instance
|
||||
*
|
||||
* @param string $pText Text
|
||||
*/
|
||||
@ -64,7 +66,7 @@ class PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement
|
||||
* Set text
|
||||
*
|
||||
* @param $pText string Text
|
||||
* @return PHPExcel_RichText_ITextElement
|
||||
* @return PHPExcel\RichText_ITextElement
|
||||
*/
|
||||
public function setText($pText = '') {
|
||||
$this->_text = $pText;
|
||||
@ -74,7 +76,7 @@ class PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement
|
||||
/**
|
||||
* Get font
|
||||
*
|
||||
* @return PHPExcel_Style_Font
|
||||
* @return PHPExcel\Style_Font
|
||||
*/
|
||||
public function getFont() {
|
||||
return null;
|
||||
|
@ -19,23 +19,16 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Settings
|
||||
* @package PHPExcel\Settings
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
/** PHPExcel root directory */
|
||||
if (!defined('PHPEXCEL_ROOT')) {
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../');
|
||||
require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
|
||||
}
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
class PHPExcel_Settings
|
||||
class Settings
|
||||
{
|
||||
/** constants */
|
||||
/** Available Zip library classes */
|
||||
@ -110,7 +103,7 @@ class PHPExcel_Settings
|
||||
* Set the Zip handler Class that PHPExcel should use for Zip file management (PCLZip or ZipArchive)
|
||||
*
|
||||
* @param string $zipClass The Zip handler class that PHPExcel should use for Zip file management
|
||||
* e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
|
||||
* e.g. PHPExcel\Settings::PCLZip or PHPExcel\Settings::ZipArchive
|
||||
* @return boolean Success or failure
|
||||
*/
|
||||
public static function setZipClass($zipClass)
|
||||
@ -130,7 +123,7 @@ class PHPExcel_Settings
|
||||
*
|
||||
* @return string Name of the Zip handler Class that PHPExcel is configured to use
|
||||
* for Zip file management
|
||||
* e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive
|
||||
* e.g. PHPExcel\Settings::PCLZip or PHPExcel\Settings::ZipArchive
|
||||
*/
|
||||
public static function getZipClass()
|
||||
{
|
||||
@ -145,7 +138,7 @@ class PHPExcel_Settings
|
||||
*/
|
||||
public static function getCacheStorageMethod()
|
||||
{
|
||||
return PHPExcel_CachedObjectStorageFactory::getCacheStorageMethod();
|
||||
return CachedObjectStorageFactory::getCacheStorageMethod();
|
||||
} // function getCacheStorageMethod()
|
||||
|
||||
|
||||
@ -156,7 +149,7 @@ class PHPExcel_Settings
|
||||
*/
|
||||
public static function getCacheStorageClass()
|
||||
{
|
||||
return PHPExcel_CachedObjectStorageFactory::getCacheStorageClass();
|
||||
return CachedObjectStorageFactory::getCacheStorageClass();
|
||||
} // function getCacheStorageClass()
|
||||
|
||||
|
||||
@ -168,11 +161,11 @@ class PHPExcel_Settings
|
||||
* @return boolean Success or failure
|
||||
*/
|
||||
public static function setCacheStorageMethod(
|
||||
$method = PHPExcel_CachedObjectStorageFactory::cache_in_memory,
|
||||
$method = CachedObjectStorageFactory::cache_in_memory,
|
||||
$arguments = array()
|
||||
)
|
||||
{
|
||||
return PHPExcel_CachedObjectStorageFactory::initialize($method, $arguments);
|
||||
return CachedObjectStorageFactory::initialize($method, $arguments);
|
||||
} // function setCacheStorageMethod()
|
||||
|
||||
|
||||
@ -184,7 +177,7 @@ class PHPExcel_Settings
|
||||
*/
|
||||
public static function setLocale($locale='en_us')
|
||||
{
|
||||
return PHPExcel_Calculation::getInstance()->setLocale($locale);
|
||||
return Calculation::getInstance()->setLocale($locale);
|
||||
} // function setLocale()
|
||||
|
||||
|
||||
@ -192,7 +185,7 @@ class PHPExcel_Settings
|
||||
* Set details of the external library that PHPExcel should use for rendering charts
|
||||
*
|
||||
* @param string $libraryName Internal reference name of the library
|
||||
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
|
||||
* e.g. PHPExcel\Settings::CHART_RENDERER_JPGRAPH
|
||||
* @param string $libraryBaseDir Directory path to the library's base folder
|
||||
*
|
||||
* @return boolean Success or failure
|
||||
@ -209,7 +202,7 @@ class PHPExcel_Settings
|
||||
* Identify to PHPExcel the external library to use for rendering charts
|
||||
*
|
||||
* @param string $libraryName Internal reference name of the library
|
||||
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
|
||||
* e.g. PHPExcel\Settings::CHART_RENDERER_JPGRAPH
|
||||
*
|
||||
* @return boolean Success or failure
|
||||
*/
|
||||
@ -247,7 +240,7 @@ class PHPExcel_Settings
|
||||
*
|
||||
* @return string|NULL Internal reference name of the Chart Rendering Library that PHPExcel is
|
||||
* currently configured to use
|
||||
* e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH
|
||||
* e.g. PHPExcel\Settings::CHART_RENDERER_JPGRAPH
|
||||
*/
|
||||
public static function getChartRendererName()
|
||||
{
|
||||
@ -271,9 +264,9 @@ class PHPExcel_Settings
|
||||
* Set details of the external library that PHPExcel should use for rendering PDF files
|
||||
*
|
||||
* @param string $libraryName Internal reference name of the library
|
||||
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
|
||||
* PHPExcel_Settings::PDF_RENDERER_DOMPDF
|
||||
* or PHPExcel_Settings::PDF_RENDERER_MPDF
|
||||
* e.g. PHPExcel\Settings::PDF_RENDERER_TCPDF,
|
||||
* PHPExcel\Settings::PDF_RENDERER_DOMPDF
|
||||
* or PHPExcel\Settings::PDF_RENDERER_MPDF
|
||||
* @param string $libraryBaseDir Directory path to the library's base folder
|
||||
*
|
||||
* @return boolean Success or failure
|
||||
@ -290,9 +283,9 @@ class PHPExcel_Settings
|
||||
* Identify to PHPExcel the external library to use for rendering PDF files
|
||||
*
|
||||
* @param string $libraryName Internal reference name of the library
|
||||
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
|
||||
* PHPExcel_Settings::PDF_RENDERER_DOMPDF
|
||||
* or PHPExcel_Settings::PDF_RENDERER_MPDF
|
||||
* e.g. PHPExcel\Settings::PDF_RENDERER_TCPDF,
|
||||
* PHPExcel\Settings::PDF_RENDERER_DOMPDF
|
||||
* or PHPExcel\Settings::PDF_RENDERER_MPDF
|
||||
*
|
||||
* @return boolean Success or failure
|
||||
*/
|
||||
@ -330,9 +323,9 @@ class PHPExcel_Settings
|
||||
*
|
||||
* @return string|NULL Internal reference name of the PDF Rendering Library that PHPExcel is
|
||||
* currently configured to use
|
||||
* e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF,
|
||||
* PHPExcel_Settings::PDF_RENDERER_DOMPDF
|
||||
* or PHPExcel_Settings::PDF_RENDERER_MPDF
|
||||
* e.g. PHPExcel\Settings::PDF_RENDERER_TCPDF,
|
||||
* PHPExcel\Settings::PDF_RENDERER_DOMPDF
|
||||
* or PHPExcel\Settings::PDF_RENDERER_MPDF
|
||||
*/
|
||||
public static function getPdfRendererName()
|
||||
{
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_CodePage
|
||||
* PHPExcel\Shared_CodePage
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_CodePage
|
||||
class Shared_CodePage
|
||||
{
|
||||
/**
|
||||
* Convert Microsoft Code Page Identifier to Code Page Name which iconv
|
||||
@ -41,14 +43,14 @@ class PHPExcel_Shared_CodePage
|
||||
*
|
||||
* @param integer $codePage Microsoft Code Page Indentifier
|
||||
* @return string Code Page Name
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function NumberToName($codePage = 1252)
|
||||
{
|
||||
switch ($codePage) {
|
||||
case 367: return 'ASCII'; break; // ASCII
|
||||
case 437: return 'CP437'; break; // OEM US
|
||||
case 720: throw new PHPExcel_Exception('Code page 720 not supported.');
|
||||
case 720: throw new Exception('Code page 720 not supported.');
|
||||
break; // OEM Arabic
|
||||
case 737: return 'CP737'; break; // OEM Greek
|
||||
case 775: return 'CP775'; break; // OEM Baltic
|
||||
@ -89,13 +91,13 @@ class PHPExcel_Shared_CodePage
|
||||
case 10079: return 'MACICELAND'; break; // Macintosh Icelandic
|
||||
case 10081: return 'MACTURKISH'; break; // Macintosh Turkish
|
||||
case 32768: return 'MAC'; break; // Apple Roman
|
||||
case 32769: throw new PHPExcel_Exception('Code page 32769 not supported.');
|
||||
case 32769: throw new Exception('Code page 32769 not supported.');
|
||||
break; // ANSI Latin I (BIFF2-BIFF3)
|
||||
case 65000: return 'UTF-7'; break; // Unicode (UTF-7)
|
||||
case 65001: return 'UTF-8'; break; // Unicode (UTF-8)
|
||||
}
|
||||
|
||||
throw new PHPExcel_Exception('Unknown codepage: ' . $codePage);
|
||||
throw new Exception('Unknown codepage: ' . $codePage);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -20,21 +20,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Date
|
||||
* PHPExcel\Shared_Date
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Date
|
||||
class Shared_Date
|
||||
{
|
||||
/** constants */
|
||||
const CALENDAR_WINDOWS_1900 = 1900; // Base date of 1st Jan 1900 = 1.0
|
||||
@ -143,7 +145,7 @@ class PHPExcel_Shared_Date
|
||||
}
|
||||
|
||||
$timezoneAdjustment = ($adjustToTimezone) ?
|
||||
PHPExcel_Shared_TimeZone::getTimezoneAdjustment($timezone, $returnValue) :
|
||||
Shared_TimeZone::getTimezoneAdjustment($timezone, $returnValue) :
|
||||
0;
|
||||
|
||||
// Return
|
||||
@ -248,10 +250,10 @@ class PHPExcel_Shared_Date
|
||||
/**
|
||||
* Is a given cell a date/time?
|
||||
*
|
||||
* @param PHPExcel_Cell $pCell
|
||||
* @param PHPExcel\Cell $pCell
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isDateTime(PHPExcel_Cell $pCell) {
|
||||
public static function isDateTime(Cell $pCell) {
|
||||
return self::isDateTimeFormat(
|
||||
$pCell->getWorksheet()->getStyle(
|
||||
$pCell->getCoordinate()
|
||||
@ -263,10 +265,10 @@ class PHPExcel_Shared_Date
|
||||
/**
|
||||
* Is a given number format a date/time?
|
||||
*
|
||||
* @param PHPExcel_Style_NumberFormat $pFormat
|
||||
* @param Style_NumberFormat $pFormat
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isDateTimeFormat(PHPExcel_Style_NumberFormat $pFormat) {
|
||||
public static function isDateTimeFormat(Style_NumberFormat $pFormat) {
|
||||
return self::isDateTimeFormatCode($pFormat->getFormatCode());
|
||||
} // function isDateTimeFormat()
|
||||
|
||||
@ -283,31 +285,31 @@ class PHPExcel_Shared_Date
|
||||
// Switch on formatcode
|
||||
switch ($pFormatCode) {
|
||||
// General contains an epoch letter 'e', so we trap for it explicitly here
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_GENERAL:
|
||||
case Style_NumberFormat::FORMAT_GENERAL:
|
||||
return FALSE;
|
||||
// Explicitly defined date formats
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYSLASH:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYMINUS:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMMINUS:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_MYMINUS:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME1:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME2:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME5:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME6:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME7:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME8:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX16:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX17:
|
||||
case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX22:
|
||||
case Style_NumberFormat::FORMAT_DATE_YYYYMMDD:
|
||||
case Style_NumberFormat::FORMAT_DATE_YYYYMMDD2:
|
||||
case Style_NumberFormat::FORMAT_DATE_DDMMYYYY:
|
||||
case Style_NumberFormat::FORMAT_DATE_DMYSLASH:
|
||||
case Style_NumberFormat::FORMAT_DATE_DMYMINUS:
|
||||
case Style_NumberFormat::FORMAT_DATE_DMMINUS:
|
||||
case Style_NumberFormat::FORMAT_DATE_MYMINUS:
|
||||
case Style_NumberFormat::FORMAT_DATE_DATETIME:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME1:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME2:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME3:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME4:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME5:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME6:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME7:
|
||||
case Style_NumberFormat::FORMAT_DATE_TIME8:
|
||||
case Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH:
|
||||
case Style_NumberFormat::FORMAT_DATE_XLSX14:
|
||||
case Style_NumberFormat::FORMAT_DATE_XLSX15:
|
||||
case Style_NumberFormat::FORMAT_DATE_XLSX16:
|
||||
case Style_NumberFormat::FORMAT_DATE_XLSX17:
|
||||
case Style_NumberFormat::FORMAT_DATE_XLSX22:
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -350,14 +352,14 @@ class PHPExcel_Shared_Date
|
||||
if (!preg_match('/^(\d{1,4}[ \.\/\-][A-Z]{3,9}([ \.\/\-]\d{1,4})?|[A-Z]{3,9}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?|\d{1,4}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?)( \d{1,2}:\d{1,2}(:\d{1,2})?)?$/iu', $dateValue))
|
||||
return FALSE;
|
||||
|
||||
$dateValueNew = PHPExcel_Calculation_DateTime::DATEVALUE($dateValue);
|
||||
$dateValueNew = Calculation_DateTime::DATEVALUE($dateValue);
|
||||
|
||||
if ($dateValueNew === PHPExcel_Calculation_Functions::VALUE()) {
|
||||
if ($dateValueNew === Calculation_Functions::VALUE()) {
|
||||
return FALSE;
|
||||
} else {
|
||||
if (strpos($dateValue, ':') !== FALSE) {
|
||||
$timeValue = PHPExcel_Calculation_DateTime::TIMEVALUE($dateValue);
|
||||
if ($timeValue === PHPExcel_Calculation_Functions::VALUE()) {
|
||||
$timeValue = Calculation_DateTime::TIMEVALUE($dateValue);
|
||||
if ($timeValue === Calculation_Functions::VALUE()) {
|
||||
return FALSE;
|
||||
}
|
||||
$dateValueNew += $timeValue;
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Drawing
|
||||
* PHPExcel\Shared_Drawing
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Drawing
|
||||
class Shared_Drawing
|
||||
{
|
||||
/**
|
||||
* Convert pixels to EMU
|
||||
@ -65,25 +67,25 @@ class PHPExcel_Shared_Drawing
|
||||
* This gives a conversion factor of 7. Also, we assume that pixels and font size are proportional.
|
||||
*
|
||||
* @param int $pValue Value in pixels
|
||||
* @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook
|
||||
* @param PHPExcel\Style_Font $pDefaultFont Default font of the workbook
|
||||
* @return int Value in cell dimension
|
||||
*/
|
||||
public static function pixelsToCellDimension($pValue = 0, PHPExcel_Style_Font $pDefaultFont) {
|
||||
public static function pixelsToCellDimension($pValue = 0, Style_Font $pDefaultFont) {
|
||||
// Font name and size
|
||||
$name = $pDefaultFont->getName();
|
||||
$size = $pDefaultFont->getSize();
|
||||
|
||||
if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) {
|
||||
if (isset(Shared_Font::$defaultColumnWidths[$name][$size])) {
|
||||
// Exact width can be determined
|
||||
$colWidth = $pValue
|
||||
* PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width']
|
||||
/ PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px'];
|
||||
* Shared_Font::$defaultColumnWidths[$name][$size]['width']
|
||||
/ Shared_Font::$defaultColumnWidths[$name][$size]['px'];
|
||||
} else {
|
||||
// We don't have data for this particular font and size, use approximation by
|
||||
// extrapolating from Calibri 11
|
||||
$colWidth = $pValue * 11
|
||||
* PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width']
|
||||
/ PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] / $size;
|
||||
* Shared_Font::$defaultColumnWidths['Calibri'][11]['width']
|
||||
/ Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] / $size;
|
||||
}
|
||||
|
||||
return $colWidth;
|
||||
@ -93,26 +95,26 @@ class PHPExcel_Shared_Drawing
|
||||
* Convert column width from (intrinsic) Excel units to pixels
|
||||
*
|
||||
* @param float $pValue Value in cell dimension
|
||||
* @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook
|
||||
* @param PHPExcel\Style_Font $pDefaultFont Default font of the workbook
|
||||
* @return int Value in pixels
|
||||
*/
|
||||
public static function cellDimensionToPixels($pValue = 0, PHPExcel_Style_Font $pDefaultFont) {
|
||||
public static function cellDimensionToPixels($pValue = 0, Style_Font $pDefaultFont) {
|
||||
// Font name and size
|
||||
$name = $pDefaultFont->getName();
|
||||
$size = $pDefaultFont->getSize();
|
||||
|
||||
if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) {
|
||||
if (isset(Shared_Font::$defaultColumnWidths[$name][$size])) {
|
||||
// Exact width can be determined
|
||||
$colWidth = $pValue
|
||||
* PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px']
|
||||
/ PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width'];
|
||||
* Shared_Font::$defaultColumnWidths[$name][$size]['px']
|
||||
/ Shared_Font::$defaultColumnWidths[$name][$size]['width'];
|
||||
|
||||
} else {
|
||||
// We don't have data for this particular font and size, use approximation by
|
||||
// extrapolating from Calibri 11
|
||||
$colWidth = $pValue * $size
|
||||
* PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px']
|
||||
/ PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] / 11;
|
||||
* Shared_Font::$defaultColumnWidths['Calibri'][11]['px']
|
||||
/ Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] / 11;
|
||||
}
|
||||
|
||||
// Round pixels to closest integer
|
||||
|
@ -19,39 +19,42 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher
|
||||
* PHPExcel\Shared_Escher
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher
|
||||
class Shared_Escher
|
||||
{
|
||||
/**
|
||||
* Drawing Group Container
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DggContainer
|
||||
* @var PHPExcel\Shared_Escher_DggContainer
|
||||
*/
|
||||
private $_dggContainer;
|
||||
|
||||
/**
|
||||
* Drawing Container
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DgContainer
|
||||
* @var PHPExcel\Shared_Escher_DgContainer
|
||||
*/
|
||||
private $_dgContainer;
|
||||
|
||||
/**
|
||||
* Get Drawing Group Container
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DgContainer
|
||||
* @return PHPExcel\Shared_Escher_DgContainer
|
||||
*/
|
||||
public function getDggContainer()
|
||||
{
|
||||
@ -61,7 +64,7 @@ class PHPExcel_Shared_Escher
|
||||
/**
|
||||
* Set Drawing Group Container
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DggContainer $dggContainer
|
||||
* @param PHPExcel\Shared_Escher_DggContainer $dggContainer
|
||||
*/
|
||||
public function setDggContainer($dggContainer)
|
||||
{
|
||||
@ -71,7 +74,7 @@ class PHPExcel_Shared_Escher
|
||||
/**
|
||||
* Get Drawing Container
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DgContainer
|
||||
* @return PHPExcel\Shared_Escher_DgContainer
|
||||
*/
|
||||
public function getDgContainer()
|
||||
{
|
||||
@ -81,7 +84,7 @@ class PHPExcel_Shared_Escher
|
||||
/**
|
||||
* Set Drawing Container
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DgContainer $dgContainer
|
||||
* @param PHPExcel\Shared_Escher_DgContainer $dgContainer
|
||||
*/
|
||||
public function setDgContainer($dgContainer)
|
||||
{
|
||||
|
@ -19,20 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher_DgContainer
|
||||
* PHPExcel\Shared_Escher_DgContainer
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher_DgContainer
|
||||
class Shared_Escher_DgContainer
|
||||
{
|
||||
/**
|
||||
* Drawing index, 1-based.
|
||||
|
@ -19,25 +19,28 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
* PHPExcel\Shared_Escher_DgContainer_SpgrContainer
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
class Shared_Escher_DgContainer_SpgrContainer
|
||||
{
|
||||
/**
|
||||
* Parent Shape Group Container
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
* @var PHPExcel\Shared_Escher_DgContainer_SpgrContainer
|
||||
*/
|
||||
private $_parent;
|
||||
|
||||
@ -51,7 +54,7 @@ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
/**
|
||||
* Set parent Shape Group Container
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent
|
||||
* @param PHPExcel\Shared_Escher_DgContainer_SpgrContainer $parent
|
||||
*/
|
||||
public function setParent($parent)
|
||||
{
|
||||
@ -61,7 +64,7 @@ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
/**
|
||||
* Get the parent Shape Group Container if any
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer|null
|
||||
* @return PHPExcel\Shared_Escher_DgContainer_SpgrContainer|null
|
||||
*/
|
||||
public function getParent()
|
||||
{
|
||||
@ -90,14 +93,14 @@ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
/**
|
||||
* Recursively get all spContainers within this spgrContainer
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer[]
|
||||
* @return PHPExcel\Shared_Escher_DgContainer_SpgrContainer_SpContainer[]
|
||||
*/
|
||||
public function getAllSpContainers()
|
||||
{
|
||||
$allSpContainers = array();
|
||||
|
||||
foreach ($this->_children as $child) {
|
||||
if ($child instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) {
|
||||
if ($child instanceof Shared_Escher_DgContainer_SpgrContainer) {
|
||||
$allSpContainers = array_merge($allSpContainers, $child->getAllSpContainers());
|
||||
} else {
|
||||
$allSpContainers[] = $child;
|
||||
|
@ -19,25 +19,28 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
|
||||
* PHPExcel\Shared_Escher_DgContainer_SpgrContainer_SpContainer
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
|
||||
class Shared_Escher_DgContainer_SpgrContainer_SpContainer
|
||||
{
|
||||
/**
|
||||
* Parent Shape Group Container
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
* @var PHPExcel\Shared_Escher_DgContainer_SpgrContainer
|
||||
*/
|
||||
private $_parent;
|
||||
|
||||
@ -121,7 +124,7 @@ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
|
||||
/**
|
||||
* Set parent Shape Group Container
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent
|
||||
* @param PHPExcel\Shared_Escher_DgContainer_SpgrContainer $parent
|
||||
*/
|
||||
public function setParent($parent)
|
||||
{
|
||||
@ -131,7 +134,7 @@ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
|
||||
/**
|
||||
* Get the parent Shape Group Container
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer
|
||||
* @return PHPExcel\Shared_Escher_DgContainer_SpgrContainer
|
||||
*/
|
||||
public function getParent()
|
||||
{
|
||||
@ -385,7 +388,7 @@ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
|
||||
$nestingLevel = 0;
|
||||
|
||||
$parent = $this->getParent();
|
||||
while ($parent instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) {
|
||||
while ($parent instanceof Shared_Escher_DgContainer_SpgrContainer) {
|
||||
++$nestingLevel;
|
||||
$parent = $parent->getParent();
|
||||
}
|
||||
|
@ -19,20 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher_DggContainer
|
||||
* PHPExcel\Shared_Escher_DggContainer
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher_DggContainer
|
||||
class Shared_Escher_DggContainer
|
||||
{
|
||||
/**
|
||||
* Maximum shape index of all shapes in all drawings increased by one
|
||||
@ -58,7 +61,7 @@ class PHPExcel_Shared_Escher_DggContainer
|
||||
/**
|
||||
* BLIP Store Container
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer
|
||||
* @var PHPExcel\Shared_Escher_DggContainer_BstoreContainer
|
||||
*/
|
||||
private $_bstoreContainer;
|
||||
|
||||
@ -139,7 +142,7 @@ class PHPExcel_Shared_Escher_DggContainer
|
||||
/**
|
||||
* Get BLIP Store Container
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer
|
||||
* @return PHPExcel\Shared_Escher_DggContainer_BstoreContainer
|
||||
*/
|
||||
public function getBstoreContainer()
|
||||
{
|
||||
@ -149,7 +152,7 @@ class PHPExcel_Shared_Escher_DggContainer
|
||||
/**
|
||||
* Set BLIP Store Container
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $bstoreContainer
|
||||
* @param PHPExcel\Shared_Escher_DggContainer_BstoreContainer $bstoreContainer
|
||||
*/
|
||||
public function setBstoreContainer($bstoreContainer)
|
||||
{
|
||||
|
@ -19,20 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher_DggContainer_BstoreContainer
|
||||
* PHPExcel\Shared_Escher_DggContainer_BstoreContainer
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher_DggContainer_BstoreContainer
|
||||
class Shared_Escher_DggContainer_BstoreContainer
|
||||
{
|
||||
/**
|
||||
* BLIP Store Entries. Each of them holds one BLIP (Big Large Image or Picture)
|
||||
@ -44,7 +47,7 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer
|
||||
/**
|
||||
* Add a BLIP Store Entry
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $BSE
|
||||
* @param PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE $BSE
|
||||
*/
|
||||
public function addBSE($BSE)
|
||||
{
|
||||
@ -55,7 +58,7 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer
|
||||
/**
|
||||
* Get the collection of BLIP Store Entries
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE[]
|
||||
* @return PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE[]
|
||||
*/
|
||||
public function getBSECollection()
|
||||
{
|
||||
|
@ -19,20 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
* PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
class Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
{
|
||||
const BLIPTYPE_ERROR = 0x00;
|
||||
const BLIPTYPE_UNKNOWN = 0x01;
|
||||
@ -48,14 +51,14 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
/**
|
||||
* The parent BLIP Store Entry Container
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer
|
||||
* @var PHPExcel\Shared_Escher_DggContainer_BstoreContainer
|
||||
*/
|
||||
private $_parent;
|
||||
|
||||
/**
|
||||
* The BLIP (Big Large Image or Picture)
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
* @var PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
*/
|
||||
private $_blip;
|
||||
|
||||
@ -69,7 +72,7 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
/**
|
||||
* Set parent BLIP Store Entry Container
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $parent
|
||||
* @param PHPExcel\Shared_Escher_DggContainer_BstoreContainer $parent
|
||||
*/
|
||||
public function setParent($parent)
|
||||
{
|
||||
@ -79,7 +82,7 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
/**
|
||||
* Get the BLIP
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
* @return PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
*/
|
||||
public function getBlip()
|
||||
{
|
||||
@ -89,7 +92,7 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
/**
|
||||
* Set the BLIP
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip $blip
|
||||
* @param PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE_Blip $blip
|
||||
*/
|
||||
public function setBlip($blip)
|
||||
{
|
||||
|
@ -19,25 +19,28 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
* PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_Escher
|
||||
* @package PHPExcel\Shared_Escher
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
class Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
{
|
||||
/**
|
||||
* The parent BSE
|
||||
*
|
||||
* @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
* @var PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE
|
||||
*/
|
||||
private $_parent;
|
||||
|
||||
@ -71,7 +74,7 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
/**
|
||||
* Set parent BSE
|
||||
*
|
||||
* @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent
|
||||
* @param PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE $parent
|
||||
*/
|
||||
public function setParent($parent)
|
||||
{
|
||||
@ -81,7 +84,7 @@ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
|
||||
/**
|
||||
* Get parent BSE
|
||||
*
|
||||
* @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent
|
||||
* @return PHPExcel\Shared_Escher_DggContainer_BstoreContainer_BSE $parent
|
||||
*/
|
||||
public function getParent()
|
||||
{
|
||||
|
@ -19,27 +19,30 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Excel5
|
||||
* PHPExcel\Shared_Excel5
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Excel5
|
||||
class Shared_Excel5
|
||||
{
|
||||
/**
|
||||
* Get the width of a column in pixels. We use the relationship y = ceil(7x) where
|
||||
* x is the width in intrinsic Excel units (measuring width in number of normal characters)
|
||||
* This holds for Arial 10
|
||||
*
|
||||
* @param PHPExcel_Worksheet $sheet The sheet
|
||||
* @param PHPExcel\Worksheet $sheet The sheet
|
||||
* @param string $col The column
|
||||
* @return integer The width in pixels
|
||||
*/
|
||||
@ -56,19 +59,19 @@ class PHPExcel_Shared_Excel5
|
||||
// then we have column dimension with explicit width
|
||||
$columnDimension = $columnDimensions[$col];
|
||||
$width = $columnDimension->getWidth();
|
||||
$pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font);
|
||||
$pixelWidth = Shared_Drawing::cellDimensionToPixels($width, $font);
|
||||
|
||||
} else if ($sheet->getDefaultColumnDimension()->getWidth() != -1) {
|
||||
|
||||
// then we have default column dimension with explicit width
|
||||
$defaultColumnDimension = $sheet->getDefaultColumnDimension();
|
||||
$width = $defaultColumnDimension->getWidth();
|
||||
$pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font);
|
||||
$pixelWidth = Shared_Drawing::cellDimensionToPixels($width, $font);
|
||||
|
||||
} else {
|
||||
|
||||
// we don't even have any default column dimension. Width depends on default font
|
||||
$pixelWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($font, true);
|
||||
$pixelWidth = Shared_Font::getDefaultColumnWidthByFont($font, true);
|
||||
}
|
||||
|
||||
// now find the effective column width in pixels
|
||||
@ -86,7 +89,7 @@ class PHPExcel_Shared_Excel5
|
||||
* the relationship is: y = 4/3x. If the height hasn't been set by the user we
|
||||
* use the default value. If the row is hidden we use a value of zero.
|
||||
*
|
||||
* @param PHPExcel_Worksheet $sheet The sheet
|
||||
* @param PHPExcel\Worksheet $sheet The sheet
|
||||
* @param integer $row The row index (1-based)
|
||||
* @return integer The width in pixels
|
||||
*/
|
||||
@ -110,13 +113,13 @@ class PHPExcel_Shared_Excel5
|
||||
// then we have a default row dimension with explicit height
|
||||
$defaultRowDimension = $sheet->getDefaultRowDimension();
|
||||
$rowHeight = $defaultRowDimension->getRowHeight();
|
||||
$pixelRowHeight = PHPExcel_Shared_Drawing::pointsToPixels($rowHeight);
|
||||
$pixelRowHeight = Shared_Drawing::pointsToPixels($rowHeight);
|
||||
|
||||
} else {
|
||||
|
||||
// we don't even have any default row dimension. Height depends on default font
|
||||
$pointRowHeight = PHPExcel_Shared_Font::getDefaultRowHeightByFont($font);
|
||||
$pixelRowHeight = PHPExcel_Shared_Font::fontSizeToPixels($pointRowHeight);
|
||||
$pointRowHeight = Shared_Font::getDefaultRowHeightByFont($font);
|
||||
$pixelRowHeight = Shared_Font::fontSizeToPixels($pointRowHeight);
|
||||
|
||||
}
|
||||
|
||||
@ -134,22 +137,22 @@ class PHPExcel_Shared_Excel5
|
||||
* Get the horizontal distance in pixels between two anchors
|
||||
* The distanceX is found as sum of all the spanning columns widths minus correction for the two offsets
|
||||
*
|
||||
* @param PHPExcel_Worksheet $sheet
|
||||
* @param PHPExcel\Worksheet $sheet
|
||||
* @param string $startColumn
|
||||
* @param integer $startOffsetX Offset within start cell measured in 1/1024 of the cell width
|
||||
* @param string $endColumn
|
||||
* @param integer $endOffsetX Offset within end cell measured in 1/1024 of the cell width
|
||||
* @return integer Horizontal measured in pixels
|
||||
*/
|
||||
public static function getDistanceX(PHPExcel_Worksheet $sheet, $startColumn = 'A', $startOffsetX = 0, $endColumn = 'A', $endOffsetX = 0)
|
||||
public static function getDistanceX(Worksheet $sheet, $startColumn = 'A', $startOffsetX = 0, $endColumn = 'A', $endOffsetX = 0)
|
||||
{
|
||||
$distanceX = 0;
|
||||
|
||||
// add the widths of the spanning columns
|
||||
$startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; // 1-based
|
||||
$endColumnIndex = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; // 1-based
|
||||
$startColumnIndex = Cell::columnIndexFromString($startColumn) - 1; // 1-based
|
||||
$endColumnIndex = Cell::columnIndexFromString($endColumn) - 1; // 1-based
|
||||
for ($i = $startColumnIndex; $i <= $endColumnIndex; ++$i) {
|
||||
$distanceX += self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($i));
|
||||
$distanceX += self::sizeCol($sheet, Cell::stringFromColumnIndex($i));
|
||||
}
|
||||
|
||||
// correct for offsetX in startcell
|
||||
@ -165,14 +168,14 @@ class PHPExcel_Shared_Excel5
|
||||
* Get the vertical distance in pixels between two anchors
|
||||
* The distanceY is found as sum of all the spanning rows minus two offsets
|
||||
*
|
||||
* @param PHPExcel_Worksheet $sheet
|
||||
* @param PHPExcel\Worksheet $sheet
|
||||
* @param integer $startRow (1-based)
|
||||
* @param integer $startOffsetY Offset within start cell measured in 1/256 of the cell height
|
||||
* @param integer $endRow (1-based)
|
||||
* @param integer $endOffsetY Offset within end cell measured in 1/256 of the cell height
|
||||
* @return integer Vertical distance measured in pixels
|
||||
*/
|
||||
public static function getDistanceY(PHPExcel_Worksheet $sheet, $startRow = 1, $startOffsetY = 0, $endRow = 1, $endOffsetY = 0)
|
||||
public static function getDistanceY(Worksheet $sheet, $startRow = 1, $startOffsetY = 0, $endRow = 1, $endOffsetY = 0)
|
||||
{
|
||||
$distanceY = 0;
|
||||
|
||||
@ -234,7 +237,7 @@ class PHPExcel_Shared_Excel5
|
||||
* W is the width of the cell
|
||||
* H is the height of the cell
|
||||
*
|
||||
* @param PHPExcel_Worksheet $sheet
|
||||
* @param PHPExcel\Worksheet $sheet
|
||||
* @param string $coordinates E.g. 'A1'
|
||||
* @param integer $offsetX Horizontal offset in pixels
|
||||
* @param integer $offsetY Vertical offset in pixels
|
||||
@ -244,8 +247,8 @@ class PHPExcel_Shared_Excel5
|
||||
*/
|
||||
public static function oneAnchor2twoAnchor($sheet, $coordinates, $offsetX, $offsetY, $width, $height)
|
||||
{
|
||||
list($column, $row) = PHPExcel_Cell::coordinateFromString($coordinates);
|
||||
$col_start = PHPExcel_Cell::columnIndexFromString($column) - 1;
|
||||
list($column, $row) = Cell::coordinateFromString($coordinates);
|
||||
$col_start = Cell::columnIndexFromString($column) - 1;
|
||||
$row_start = $row - 1;
|
||||
|
||||
$x1 = $offsetX;
|
||||
@ -256,7 +259,7 @@ class PHPExcel_Shared_Excel5
|
||||
$row_end = $row_start; // Row containing bottom right corner of object
|
||||
|
||||
// Zero the specified offset if greater than the cell dimensions
|
||||
if ($x1 >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start))) {
|
||||
if ($x1 >= self::sizeCol($sheet, Cell::stringFromColumnIndex($col_start))) {
|
||||
$x1 = 0;
|
||||
}
|
||||
if ($y1 >= self::sizeRow($sheet, $row_start + 1)) {
|
||||
@ -267,8 +270,8 @@ class PHPExcel_Shared_Excel5
|
||||
$height = $height + $y1 -1;
|
||||
|
||||
// Subtract the underlying cell widths to find the end cell of the image
|
||||
while ($width >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end))) {
|
||||
$width -= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end));
|
||||
while ($width >= self::sizeCol($sheet, Cell::stringFromColumnIndex($col_end))) {
|
||||
$width -= self::sizeCol($sheet, Cell::stringFromColumnIndex($col_end));
|
||||
++$col_end;
|
||||
}
|
||||
|
||||
@ -280,10 +283,10 @@ class PHPExcel_Shared_Excel5
|
||||
|
||||
// Bitmap isn't allowed to start or finish in a hidden cell, i.e. a cell
|
||||
// with zero height or width.
|
||||
if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) == 0) {
|
||||
if (self::sizeCol($sheet, Cell::stringFromColumnIndex($col_start)) == 0) {
|
||||
return;
|
||||
}
|
||||
if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) == 0) {
|
||||
if (self::sizeCol($sheet, Cell::stringFromColumnIndex($col_end)) == 0) {
|
||||
return;
|
||||
}
|
||||
if (self::sizeRow($sheet, $row_start + 1) == 0) {
|
||||
@ -294,13 +297,13 @@ class PHPExcel_Shared_Excel5
|
||||
}
|
||||
|
||||
// Convert the pixel values to the percentage value expected by Excel
|
||||
$x1 = $x1 / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) * 1024;
|
||||
$x1 = $x1 / self::sizeCol($sheet, Cell::stringFromColumnIndex($col_start)) * 1024;
|
||||
$y1 = $y1 / self::sizeRow($sheet, $row_start + 1) * 256;
|
||||
$x2 = ($width + 1) / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object
|
||||
$x2 = ($width + 1) / self::sizeCol($sheet, Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object
|
||||
$y2 = ($height + 1) / self::sizeRow($sheet, $row_end + 1) * 256; // Distance to bottom of object
|
||||
|
||||
$startCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_start) . ($row_start + 1);
|
||||
$endCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_end) . ($row_end + 1);
|
||||
$startCoordinates = Cell::stringFromColumnIndex($col_start) . ($row_start + 1);
|
||||
$endCoordinates = Cell::stringFromColumnIndex($col_end) . ($row_end + 1);
|
||||
|
||||
$twoAnchor = array(
|
||||
'startCoordinates' => $startCoordinates,
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_File
|
||||
* PHPExcel\Shared_File
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_File
|
||||
class Shared_File
|
||||
{
|
||||
/*
|
||||
* Use Temp or File Upload Temp for temporary files
|
||||
|
@ -19,21 +19,23 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_Font
|
||||
* PHPExcel\Shared_Font
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared
|
||||
* @package PHPExcel\Shared
|
||||
* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||
*/
|
||||
class PHPExcel_Shared_Font
|
||||
class Shared_Font
|
||||
{
|
||||
/* Methods for resolving autosize value */
|
||||
const AUTOSIZE_METHOD_APPROX = 'approx';
|
||||
@ -244,16 +246,16 @@ class PHPExcel_Shared_Font
|
||||
/**
|
||||
* Calculate an (approximate) OpenXML column width, based on font size and text contained
|
||||
*
|
||||
* @param PHPExcel_Style_Font $font Font object
|
||||
* @param PHPExcel_RichText|string $cellText Text to calculate width
|
||||
* @param PHPExcel\Style_Font $font Font object
|
||||
* @param PHPExcel\RichText|string $cellText Text to calculate width
|
||||
* @param integer $rotation Rotation angle
|
||||
* @param PHPExcel_Style_Font|NULL $defaultFont Font object
|
||||
* @param PHPExcel\Style_Font|NULL $defaultFont Font object
|
||||
* @return integer Column width
|
||||
*/
|
||||
public static function calculateColumnWidth(PHPExcel_Style_Font $font, $cellText = '', $rotation = 0, PHPExcel_Style_Font $defaultFont = null) {
|
||||
public static function calculateColumnWidth(Style_Font $font, $cellText = '', $rotation = 0, Style_Font $defaultFont = null) {
|
||||
|
||||
// If it is rich text, use plain text
|
||||
if ($cellText instanceof PHPExcel_RichText) {
|
||||
if ($cellText instanceof RichText) {
|
||||
$cellText = $cellText->getPlainText();
|
||||
}
|
||||
|
||||
@ -271,7 +273,7 @@ class PHPExcel_Shared_Font
|
||||
try {
|
||||
// If autosize method is set to 'approx', use approximation
|
||||
if (self::$autoSizeMethod == self::AUTOSIZE_METHOD_APPROX) {
|
||||
throw new PHPExcel_Exception('AutoSize method is set to approx');
|
||||
throw new Exception('AutoSize method is set to approx');
|
||||
}
|
||||
|
||||
// Width of text in pixels excl. padding
|
||||
@ -280,7 +282,7 @@ class PHPExcel_Shared_Font
|
||||
// Excel adds some padding, use 1.07 of the width of an 'n' glyph
|
||||
$columnWidth += ceil(self::getTextWidthPixelsExact('0', $font, 0) * 1.07); // pixels incl. padding
|
||||
|
||||
} catch (PHPExcel_Exception $e) {
|
||||
} catch (Exception $e) {
|
||||
// Width of text in pixels excl. padding, approximation
|
||||
$columnWidth = self::getTextWidthPixelsApprox($cellText, $font, $rotation);
|
||||
|
||||
@ -289,7 +291,7 @@ class PHPExcel_Shared_Font
|
||||
}
|
||||
|
||||
// Convert from pixel width to column width
|
||||
$columnWidth = PHPExcel_Shared_Drawing::pixelsToCellDimension($columnWidth, $defaultFont);
|
||||
$columnWidth = Shared_Drawing::pixelsToCellDimension($columnWidth, $defaultFont);
|
||||
|
||||
// Return
|
||||
return round($columnWidth, 6);
|
||||
@ -299,14 +301,14 @@ class PHPExcel_Shared_Font
|
||||
* Get GD text width in pixels for a string of text in a certain font at a certain rotation angle
|
||||
*
|
||||
* @param string $text
|
||||
* @param PHPExcel_Style_Font
|
||||
* @param PHPExcel\Style_Font
|
||||
* @param int $rotation
|
||||
* @return int
|
||||
* @throws PHPExcel_Exception
|
||||
* @throws PHPExcel\Exception
|
||||
*/
|
||||
public static function getTextWidthPixelsExact($text, PHPExcel_Style_Font $font, $rotation = 0) {
|
||||
public static function getTextWidthPixelsExact($text, Style_Font $font, $rotation = 0) {
|
||||
if (!function_exists('imagettfbbox')) {
|
||||
throw new PHPExcel_Exception('GD library needs to be enabled');
|
||||
throw new Exception('GD library needs to be enabled');
|
||||
}
|
||||
|
||||
// font size should really be supplied in pixels in GD2,
|
||||
@ -334,11 +336,11 @@ class PHPExcel_Shared_Font
|
||||
* Get approximate width in pixels for a string of text in a certain font at a certain rotation angle
|
||||
*
|
||||
* @param string $columnText
|
||||
* @param PHPExcel_Style_Font $font
|
||||
* @param PHPExcel\Style_Font $font
|
||||
* @param int $rotation
|
||||
* @return int Text width in pixels (no padding added)
|
||||
*/
|
||||
public static function getTextWidthPixelsApprox($columnText, PHPExcel_Style_Font $font = null, $rotation = 0)
|
||||
public static function getTextWidthPixelsApprox($columnText, Style_Font $font = null, $rotation = 0)
|
||||
{
|
||||
$fontName = $font->getName();
|
||||
$fontSize = $font->getSize();
|
||||
@ -347,25 +349,25 @@ class PHPExcel_Shared_Font
|
||||
switch ($fontName) {
|
||||
case 'Calibri':
|
||||
// value 8.26 was found via interpolation by inspecting real Excel files with Calibri 11 font.
|
||||
$columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = (int) (8.26 * Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size
|
||||
break;
|
||||
|
||||
case 'Arial':
|
||||
// value 7 was found via interpolation by inspecting real Excel files with Arial 10 font.
|
||||
$columnWidth = (int) (7 * PHPExcel_Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = (int) (7 * Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size
|
||||
break;
|
||||
|
||||
case 'Verdana':
|
||||
// value 8 was found via interpolation by inspecting real Excel files with Verdana 10 font.
|
||||
$columnWidth = (int) (8 * PHPExcel_Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = (int) (8 * Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size
|
||||
break;
|
||||
|
||||
default:
|
||||
// just assume Calibri
|
||||
$columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = (int) (8.26 * Shared_String::CountCharacters($columnText));
|
||||
$columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size
|
||||
break;
|
||||
}
|
||||
@ -420,12 +422,12 @@ class PHPExcel_Shared_Font
|
||||
/**
|
||||
* Returns the font path given the font
|
||||
*
|
||||
* @param PHPExcel_Style_Font
|
||||
* @param PHPExcel\Style_Font
|
||||
* @return string Path to TrueType font file
|
||||
*/
|
||||
public static function getTrueTypeFontFileFromFont($font) {
|
||||
if (!file_exists(self::$trueTypeFontPath) || !is_dir(self::$trueTypeFontPath)) {
|
||||
throw new PHPExcel_Exception('Valid directory to TrueType Font files not specified');
|
||||
throw new Exception('Valid directory to TrueType Font files not specified');
|
||||
}
|
||||
|
||||
$name = $font->getName();
|
||||
@ -530,7 +532,7 @@ class PHPExcel_Shared_Font
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new PHPExcel_Exception('Unknown font name "'. $name .'". Cannot map to TrueType font file');
|
||||
throw new Exception('Unknown font name "'. $name .'". Cannot map to TrueType font file');
|
||||
break;
|
||||
}
|
||||
|
||||
@ -538,7 +540,7 @@ class PHPExcel_Shared_Font
|
||||
|
||||
// Check if file actually exists
|
||||
if (!file_exists($fontFile)) {
|
||||
throw New PHPExcel_Exception('TrueType Font file not found');
|
||||
throw New Exception('TrueType Font file not found');
|
||||
}
|
||||
|
||||
return $fontFile;
|
||||
@ -566,11 +568,11 @@ class PHPExcel_Shared_Font
|
||||
* Get the effective column width for columns without a column dimension or column with width -1
|
||||
* For example, for Calibri 11 this is 9.140625 (64 px)
|
||||
*
|
||||
* @param PHPExcel_Style_Font $font The workbooks default font
|
||||
* @param PHPExcel\Style_Font $font The workbooks default font
|
||||
* @param boolean $pPixels true = return column width in pixels, false = return in OOXML units
|
||||
* @return mixed Column width
|
||||
*/
|
||||
public static function getDefaultColumnWidthByFont(PHPExcel_Style_Font $font, $pPixels = false)
|
||||
public static function getDefaultColumnWidthByFont(Style_Font $font, $pPixels = false)
|
||||
{
|
||||
if (isset(self::$defaultColumnWidths[$font->getName()][$font->getSize()])) {
|
||||
// Exact width can be determined
|
||||
@ -599,10 +601,10 @@ class PHPExcel_Shared_Font
|
||||
* Get the effective row height for rows without a row dimension or rows with height -1
|
||||
* For example, for Calibri 11 this is 15 points
|
||||
*
|
||||
* @param PHPExcel_Style_Font $font The workbooks default font
|
||||
* @param PHPExcel\Style_Font $font The workbooks default font
|
||||
* @return float Row height in points
|
||||
*/
|
||||
public static function getDefaultRowHeightByFont(PHPExcel_Style_Font $font)
|
||||
public static function getDefaultRowHeightByFont(Style_Font $font)
|
||||
{
|
||||
switch ($font->getName()) {
|
||||
case 'Arial':
|
||||
|
@ -73,7 +73,7 @@ class CholeskyDecomposition {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException));
|
||||
throw new PHPExcel\Calculation_Exception(JAMAError(ArgumentTypeException));
|
||||
}
|
||||
} // function __construct()
|
||||
|
||||
@ -136,13 +136,13 @@ class CholeskyDecomposition {
|
||||
|
||||
return new Matrix($X, $this->m, $nx);
|
||||
} else {
|
||||
throw new PHPExcel_Calculation_Exception(JAMAError(MatrixSPDException));
|
||||
throw new PHPExcel\Calculation_Exception(JAMAError(MatrixSPDException));
|
||||
}
|
||||
} else {
|
||||
throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionException));
|
||||
throw new PHPExcel\Calculation_Exception(JAMAError(MatrixDimensionException));
|
||||
}
|
||||
} else {
|
||||
throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException));
|
||||
throw new PHPExcel\Calculation_Exception(JAMAError(ArgumentTypeException));
|
||||
}
|
||||
} // function solve()
|
||||
|
||||
|
@ -20,6 +20,8 @@
|
||||
// $Id: OLE.php,v 1.13 2007/03/07 14:38:25 schmidt Exp $
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* Array for storing OLE instances that are accessed from
|
||||
* OLE_ChainedBlockStream::stream_open().
|
||||
@ -33,9 +35,9 @@ $GLOBALS['_OLE_INSTANCES'] = array();
|
||||
* @author Xavier Noguer <xnoguer@php.net>
|
||||
* @author Christian Schmidt <schmidt@php.net>
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_OLE
|
||||
* @package PHPExcel\Shared_OLE
|
||||
*/
|
||||
class PHPExcel_Shared_OLE
|
||||
class Shared_OLE
|
||||
{
|
||||
const OLE_PPS_TYPE_ROOT = 5;
|
||||
const OLE_PPS_TYPE_DIR = 1;
|
||||
@ -97,18 +99,18 @@ class PHPExcel_Shared_OLE
|
||||
{
|
||||
$fh = fopen($file, "r");
|
||||
if (!$fh) {
|
||||
throw new PHPExcel_Reader_Exception("Can't open file $file");
|
||||
throw new Reader_Exception("Can't open file $file");
|
||||
}
|
||||
$this->_file_handle = $fh;
|
||||
|
||||
$signature = fread($fh, 8);
|
||||
if ("\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" != $signature) {
|
||||
throw new PHPExcel_Reader_Exception("File doesn't seem to be an OLE container.");
|
||||
throw new Reader_Exception("File doesn't seem to be an OLE container.");
|
||||
}
|
||||
fseek($fh, 28);
|
||||
if (fread($fh, 2) != "\xFE\xFF") {
|
||||
// This shouldn't be a problem in practice
|
||||
throw new PHPExcel_Reader_Exception("Only Little-Endian encoding is supported.");
|
||||
throw new Reader_Exception("Only Little-Endian encoding is supported.");
|
||||
}
|
||||
// Size of blocks and short blocks in bytes
|
||||
$this->bigBlockSize = pow(2, self::_readInt2($fh));
|
||||
@ -190,7 +192,7 @@ class PHPExcel_Shared_OLE
|
||||
|
||||
/**
|
||||
* Returns a stream for use with fread() etc. External callers should
|
||||
* use PHPExcel_Shared_OLE_PPS_File::getStream().
|
||||
* use PHPExcel\Shared_OLE_PPS_File::getStream().
|
||||
* @param int|PPS block id or PPS
|
||||
* @return resource read-only stream
|
||||
*/
|
||||
@ -199,7 +201,7 @@ class PHPExcel_Shared_OLE
|
||||
static $isRegistered = false;
|
||||
if (!$isRegistered) {
|
||||
stream_wrapper_register('ole-chainedblockstream',
|
||||
'PHPExcel_Shared_OLE_ChainedBlockStream');
|
||||
__NAMESPACE__ . '\Shared_OLE_ChainedBlockStream');
|
||||
$isRegistered = true;
|
||||
}
|
||||
|
||||
@ -210,7 +212,7 @@ class PHPExcel_Shared_OLE
|
||||
$instanceId = end(array_keys($GLOBALS['_OLE_INSTANCES']));
|
||||
|
||||
$path = 'ole-chainedblockstream://oleInstanceId=' . $instanceId;
|
||||
if ($blockIdOrPps instanceof PHPExcel_Shared_OLE_PPS) {
|
||||
if ($blockIdOrPps instanceof Shared_OLE_PPS) {
|
||||
$path .= '&blockId=' . $blockIdOrPps->_StartBlock;
|
||||
$path .= '&size=' . $blockIdOrPps->Size;
|
||||
} else {
|
||||
@ -276,15 +278,15 @@ class PHPExcel_Shared_OLE
|
||||
$type = self::_readInt1($fh);
|
||||
switch ($type) {
|
||||
case self::OLE_PPS_TYPE_ROOT:
|
||||
$pps = new PHPExcel_Shared_OLE_PPS_Root(null, null, array());
|
||||
$pps = new Shared_OLE_PPS_Root(null, null, array());
|
||||
$this->root = $pps;
|
||||
break;
|
||||
case self::OLE_PPS_TYPE_DIR:
|
||||
$pps = new PHPExcel_Shared_OLE_PPS(null, null, null, null, null,
|
||||
$pps = new Shared_OLE_PPS(null, null, null, null, null,
|
||||
null, null, null, null, array());
|
||||
break;
|
||||
case self::OLE_PPS_TYPE_FILE:
|
||||
$pps = new PHPExcel_Shared_OLE_PPS_File($name);
|
||||
$pps = new Shared_OLE_PPS_File($name);
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
|
@ -19,23 +19,26 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_OLE
|
||||
* @package PHPExcel\Shared_OLE
|
||||
* @copyright Copyright (c) 2006 - 2007 Christian Schmidt
|
||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||
* @version ##VERSION##, ##DATE##
|
||||
*/
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* PHPExcel_Shared_OLE_ChainedBlockStream
|
||||
* PHPExcel\Shared_OLE_ChainedBlockStream
|
||||
*
|
||||
* Stream wrapper for reading data stored in an OLE file. Implements methods
|
||||
* for PHP's stream_wrapper_register(). For creating streams using this
|
||||
* wrapper, use PHPExcel_Shared_OLE_PPS_File::getStream().
|
||||
* wrapper, use PHPExcel\Shared_OLE_PPS_File::getStream().
|
||||
*
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_OLE
|
||||
* @package PHPExcel\Shared_OLE
|
||||
*/
|
||||
class PHPExcel_Shared_OLE_ChainedBlockStream
|
||||
class Shared_OLE_ChainedBlockStream
|
||||
{
|
||||
/**
|
||||
* The OLE container of the file that is being read.
|
||||
|
@ -20,14 +20,16 @@
|
||||
// $Id: PPS.php,v 1.7 2007/02/13 21:00:42 schmidt Exp $
|
||||
|
||||
|
||||
namespace PHPExcel;
|
||||
|
||||
/**
|
||||
* Class for creating PPS's for OLE containers
|
||||
*
|
||||
* @author Xavier Noguer <xnoguer@php.net>
|
||||
* @category PHPExcel
|
||||
* @package PHPExcel_Shared_OLE
|
||||
* @package PHPExcel\Shared_OLE
|
||||
*/
|
||||
class PHPExcel_Shared_OLE_PPS
|
||||
class Shared_OLE_PPS
|
||||
{
|
||||
/**
|
||||
* The PPS index
|
||||
@ -182,8 +184,8 @@ class PHPExcel_Shared_OLE_PPS
|
||||
. "\xc0\x00\x00\x00" // 92
|
||||
. "\x00\x00\x00\x46" // 96 // Seems to be ok only for Root
|
||||
. "\x00\x00\x00\x00" // 100
|
||||
. PHPExcel_Shared_OLE::LocalDate2OLE($this->Time1st) // 108
|
||||
. PHPExcel_Shared_OLE::LocalDate2OLE($this->Time2nd) // 116
|
||||
. Shared_OLE::LocalDate2OLE($this->Time1st) // 108
|
||||
. Shared_OLE::LocalDate2OLE($this->Time2nd) // 116
|
||||
. pack("V", isset($this->_StartBlock)?
|
||||
$this->_StartBlock:0) // 120
|
||||
. pack("V", $this->Size) // 124
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user