Some general performance tweaks, and some specific to the Excel2007 Writer
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64159 2327b42d-5241-43d6-9e2a-de5ac946f064
This commit is contained in:
parent
606f43a086
commit
29c4b1db5f
|
@ -3222,8 +3222,10 @@ class PHPExcel_Calculation {
|
|||
// print_r($args);
|
||||
// echo '<br />';
|
||||
if ($functionName != 'MKMATRIX') {
|
||||
if ($this->writeDebugLog) {
|
||||
krsort($argArrayVals);
|
||||
$this->_writeDebug('Evaluating '. self::_localeFunc($functionName).'( '.implode(self::$_localeArgumentSeparator.' ',$argArrayVals).' )');
|
||||
$this->_writeDebug('Evaluating '. self::_localeFunc($functionName).'( '.implode(self::$_localeArgumentSeparator.' ',PHPExcel_Calculation_Functions::flattenArray($argArrayVals)).' )');
|
||||
}
|
||||
}
|
||||
// Process each argument in turn, building the return value as an array
|
||||
// if (($argCount == 1) && (is_array($args[1])) && ($functionName != 'MKMATRIX')) {
|
||||
|
|
|
@ -192,6 +192,18 @@ class PHPExcel_Cell
|
|||
return $this->_value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get cell value with formatting
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getFormattedValue()
|
||||
{
|
||||
return PHPExcel_Style_NumberFormat::toFormattedString( $this->getCalculatedValue(),
|
||||
$this->_parent->getParent()->getCellXfByIndex($this->getXfIndex())->getNumberFormat()->getFormatCode()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set cell value
|
||||
*
|
||||
|
@ -486,7 +498,7 @@ class PHPExcel_Cell
|
|||
} elseif ($pCoordinateString == '') {
|
||||
throw new Exception('Cell coordinate can not be zero-length string.');
|
||||
} else {
|
||||
throw new Exception('Invalid cell coordinate.');
|
||||
throw new Exception('Invalid cell coordinate '.$pCoordinateString);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -89,9 +89,10 @@ class PHPExcel_HashTable
|
|||
* @throws Exception
|
||||
*/
|
||||
public function add(PHPExcel_IComparable $pSource = null) {
|
||||
if (!isset($this->_items[ $pSource->getHashCode() ])) {
|
||||
$this->_items[ $pSource->getHashCode() ] = $pSource;
|
||||
$this->_keyMap[ count($this->_items) - 1 ] = $pSource->getHashCode();
|
||||
$hash = $pSource->getHashCode();
|
||||
if (!isset($this->_items[$hash])) {
|
||||
$this->_items[$hash] = $pSource;
|
||||
$this->_keyMap[count($this->_items) - 1] = $hash;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -102,8 +103,9 @@ class PHPExcel_HashTable
|
|||
* @throws Exception
|
||||
*/
|
||||
public function remove(PHPExcel_IComparable $pSource = null) {
|
||||
if (isset($this->_items[ $pSource->getHashCode() ])) {
|
||||
unset($this->_items[ $pSource->getHashCode() ]);
|
||||
$hash = $pSource->getHashCode();
|
||||
if (isset($this->_items[$hash])) {
|
||||
unset($this->_items[$hash]);
|
||||
|
||||
$deleteKey = -1;
|
||||
foreach ($this->_keyMap as $key => $value) {
|
||||
|
@ -111,11 +113,11 @@ class PHPExcel_HashTable
|
|||
$this->_keyMap[$key - 1] = $value;
|
||||
}
|
||||
|
||||
if ($value == $pSource->getHashCode()) {
|
||||
if ($value == $hash) {
|
||||
$deleteKey = $key;
|
||||
}
|
||||
}
|
||||
unset($this->_keyMap[ count($this->_keyMap) - 1 ]);
|
||||
unset($this->_keyMap[count($this->_keyMap) - 1]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue