mirror of
https://github.com/retailcrm/PHPExcel.git
synced 2024-11-26 23:36:03 +03:00
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);
|
// print_r($args);
|
||||||
// echo '<br />';
|
// echo '<br />';
|
||||||
if ($functionName != 'MKMATRIX') {
|
if ($functionName != 'MKMATRIX') {
|
||||||
|
if ($this->writeDebugLog) {
|
||||||
krsort($argArrayVals);
|
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
|
// Process each argument in turn, building the return value as an array
|
||||||
// if (($argCount == 1) && (is_array($args[1])) && ($functionName != 'MKMATRIX')) {
|
// if (($argCount == 1) && (is_array($args[1])) && ($functionName != 'MKMATRIX')) {
|
||||||
|
@ -192,6 +192,18 @@ class PHPExcel_Cell
|
|||||||
return $this->_value;
|
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
|
* Set cell value
|
||||||
*
|
*
|
||||||
@ -486,7 +498,7 @@ class PHPExcel_Cell
|
|||||||
} elseif ($pCoordinateString == '') {
|
} elseif ($pCoordinateString == '') {
|
||||||
throw new Exception('Cell coordinate can not be zero-length string.');
|
throw new Exception('Cell coordinate can not be zero-length string.');
|
||||||
} else {
|
} else {
|
||||||
throw new Exception('Invalid cell coordinate.');
|
throw new Exception('Invalid cell coordinate '.$pCoordinateString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,9 +89,10 @@ class PHPExcel_HashTable
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function add(PHPExcel_IComparable $pSource = null) {
|
public function add(PHPExcel_IComparable $pSource = null) {
|
||||||
if (!isset($this->_items[ $pSource->getHashCode() ])) {
|
$hash = $pSource->getHashCode();
|
||||||
$this->_items[ $pSource->getHashCode() ] = $pSource;
|
if (!isset($this->_items[$hash])) {
|
||||||
$this->_keyMap[ count($this->_items) - 1 ] = $pSource->getHashCode();
|
$this->_items[$hash] = $pSource;
|
||||||
|
$this->_keyMap[count($this->_items) - 1] = $hash;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,8 +103,9 @@ class PHPExcel_HashTable
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function remove(PHPExcel_IComparable $pSource = null) {
|
public function remove(PHPExcel_IComparable $pSource = null) {
|
||||||
if (isset($this->_items[ $pSource->getHashCode() ])) {
|
$hash = $pSource->getHashCode();
|
||||||
unset($this->_items[ $pSource->getHashCode() ]);
|
if (isset($this->_items[$hash])) {
|
||||||
|
unset($this->_items[$hash]);
|
||||||
|
|
||||||
$deleteKey = -1;
|
$deleteKey = -1;
|
||||||
foreach ($this->_keyMap as $key => $value) {
|
foreach ($this->_keyMap as $key => $value) {
|
||||||
@ -111,7 +113,7 @@ class PHPExcel_HashTable
|
|||||||
$this->_keyMap[$key - 1] = $value;
|
$this->_keyMap[$key - 1] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($value == $pSource->getHashCode()) {
|
if ($value == $hash) {
|
||||||
$deleteKey = $key;
|
$deleteKey = $key;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user