From 8debf76a8a58131da6f3f82fe792359123dcb1bc Mon Sep 17 00:00:00 2001 From: Mark Baker Date: Fri, 26 Apr 2013 12:44:47 +0100 Subject: [PATCH] Minor performance tweaks --- Classes/PHPExcel/CachedObjectStorage/CacheBase.php | 8 ++++---- Classes/PHPExcel/Calculation.php | 4 ++-- Classes/PHPExcel/Cell.php | 6 +++--- Classes/PHPExcel/ReferenceHelper.php | 10 +++++----- Classes/PHPExcel/Worksheet/AutoFilter.php | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Classes/PHPExcel/CachedObjectStorage/CacheBase.php b/Classes/PHPExcel/CachedObjectStorage/CacheBase.php index 6dd6c1a..c4b5781 100644 --- a/Classes/PHPExcel/CachedObjectStorage/CacheBase.php +++ b/Classes/PHPExcel/CachedObjectStorage/CacheBase.php @@ -177,7 +177,7 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase { public function getSortedCellList() { $sortKeys = array(); foreach ($this->getCellList() as $coord) { - list($column,$row) = sscanf($coord,'%[A-Z]%d'); + sscanf($coord,'%[A-Z]%d', $column, $row); $sortKeys[sprintf('%09d%3s',$row,$column)] = $coord; } ksort($sortKeys); @@ -198,7 +198,7 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase { $col = array('A' => '1A'); $row = array(1); foreach ($this->getCellList() as $coord) { - list($c,$r) = sscanf($coord,'%[A-Z]%d'); + sscanf($coord,'%[A-Z]%d', $c, $r); $row[$r] = $r; $col[$c] = strlen($c).$c; } @@ -221,13 +221,13 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase { public function getCurrentColumn() { - list($column,$row) = sscanf($this->_currentObjectID, '%[A-Z]%d'); + sscanf($this->_currentObjectID, '%[A-Z]%d', $column, $row); return $column; } public function getCurrentRow() { - list($column,$row) = sscanf($this->_currentObjectID, '%[A-Z]%d'); + sscanf($this->_currentObjectID, '%[A-Z]%d', $column, $row); return $row; } diff --git a/Classes/PHPExcel/Calculation.php b/Classes/PHPExcel/Calculation.php index c98e50c..93f77d7 100644 --- a/Classes/PHPExcel/Calculation.php +++ b/Classes/PHPExcel/Calculation.php @@ -3621,7 +3621,7 @@ class PHPExcel_Calculation { $pRange = $pSheetName.'!'.$pRange; if (!isset($aReferences[1])) { // Single cell in range - list($currentCol,$currentRow) = sscanf($aReferences[0],'%[A-Z]%d'); + sscanf($aReferences[0],'%[A-Z]%d', $currentCol, $currentRow); $cellValue = NULL; if ($pSheet->cellExists($aReferences[0])) { $returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog); @@ -3632,7 +3632,7 @@ class PHPExcel_Calculation { // Extract cell data for all cells in the range foreach ($aReferences as $reference) { // Extract range - list($currentCol,$currentRow) = sscanf($reference,'%[A-Z]%d'); + sscanf($reference,'%[A-Z]%d', $currentCol, $currentRow); $cellValue = NULL; if ($pSheet->cellExists($reference)) { $returnValue[$currentRow][$currentCol] = $pSheet->getCell($reference)->getCalculatedValue($resetLog); diff --git a/Classes/PHPExcel/Cell.php b/Classes/PHPExcel/Cell.php index dbd7a82..27fb914 100644 --- a/Classes/PHPExcel/Cell.php +++ b/Classes/PHPExcel/Cell.php @@ -822,8 +822,8 @@ class PHPExcel_Cell // Range... list($rangeStart, $rangeEnd) = $range; - list($startCol, $startRow) = sscanf($rangeStart,'%[A-Z]%d'); - list($endCol, $endRow) = sscanf($rangeEnd,'%[A-Z]%d'); + sscanf($rangeStart,'%[A-Z]%d', $startCol, $startRow); + sscanf($rangeEnd,'%[A-Z]%d', $endCol, $endRow); $endCol++; // Current data @@ -845,7 +845,7 @@ class PHPExcel_Cell // Sort the result by column and row $sortKeys = array(); foreach (array_unique($returnValue) as $coord) { - list($column,$row) = sscanf($coord,'%[A-Z]%d'); + sscanf($coord,'%[A-Z]%d', $column, $row); $sortKeys[sprintf('%3s%09d',$column,$row)] = $coord; } ksort($sortKeys); diff --git a/Classes/PHPExcel/ReferenceHelper.php b/Classes/PHPExcel/ReferenceHelper.php index 6f8c1d4..94f21b3 100644 --- a/Classes/PHPExcel/ReferenceHelper.php +++ b/Classes/PHPExcel/ReferenceHelper.php @@ -101,8 +101,8 @@ class PHPExcel_ReferenceHelper * @return integer */ public static function cellSort($a, $b) { - list($ac,$ar) = sscanf($a,'%[A-Z]%d'); - list($bc,$br) = sscanf($b,'%[A-Z]%d'); + sscanf($a,'%[A-Z]%d', $ac, $ar); + sscanf($b,'%[A-Z]%d', $bc, $br); if ($ar == $br) { return strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); @@ -119,8 +119,8 @@ class PHPExcel_ReferenceHelper * @return integer */ public static function cellReverseSort($a, $b) { - list($ac,$ar) = sscanf($a,'%[A-Z]%d'); - list($bc,$br) = sscanf($b,'%[A-Z]%d'); + sscanf($a,'%[A-Z]%d', $ac, $ar); + sscanf($b,'%[A-Z]%d', $bc, $br); if ($ar == $br) { return 1 - strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); @@ -549,7 +549,7 @@ class PHPExcel_ReferenceHelper if ($pNumCols != 0) { $autoFilterColumns = array_keys($autoFilter->getColumns()); if (count($autoFilterColumns) > 0) { - list($column,$row) = sscanf($pBefore,'%[A-Z]%d'); + sscanf($pBefore,'%[A-Z]%d', $column, $row); $columnIndex = PHPExcel_Cell::columnIndexFromString($column); list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($autoFilterRange); if ($columnIndex <= $rangeEnd[0]) { diff --git a/Classes/PHPExcel/Worksheet/AutoFilter.php b/Classes/PHPExcel/Worksheet/AutoFilter.php index c39bfbf..ae05875 100644 --- a/Classes/PHPExcel/Worksheet/AutoFilter.php +++ b/Classes/PHPExcel/Worksheet/AutoFilter.php @@ -725,7 +725,7 @@ class PHPExcel_Worksheet_AutoFilter // Date based if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') { // Month or Quarter - list($periodType,$period) = sscanf($dynamicRuleType,'%[A-Z]%d'); + sscanf($dynamicRuleType,'%[A-Z]%d', $periodType, $period); if ($periodType == 'M') { $ruleValues = array($period); } else {