Minor performance tweaks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@64389 2327b42d-5241-43d6-9e2a-de5ac946f064
This commit is contained in:
parent
fcf2643609
commit
506eabdbf7
|
@ -3517,7 +3517,8 @@ class PHPExcel_Calculation {
|
||||||
// Extract range
|
// Extract range
|
||||||
$aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange);
|
$aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange);
|
||||||
$pRange = $pSheet->getTitle().'!'.$pRange;
|
$pRange = $pSheet->getTitle().'!'.$pRange;
|
||||||
if (count($aReferences) == 1) {
|
if (!isset($aReferences[1])) {
|
||||||
|
// Single cell in range
|
||||||
list($currentCol,$currentRow) = sscanf($aReferences[0],'%[A-Z]%d');
|
list($currentCol,$currentRow) = sscanf($aReferences[0],'%[A-Z]%d');
|
||||||
if ($pSheet->cellExists($aReferences[0])) {
|
if ($pSheet->cellExists($aReferences[0])) {
|
||||||
$returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog);
|
$returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog);
|
||||||
|
@ -3525,7 +3526,7 @@ class PHPExcel_Calculation {
|
||||||
$returnValue[$currentRow][$currentCol] = null;
|
$returnValue[$currentRow][$currentCol] = null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Extract cell data
|
// Extract cell data for all cells in the range
|
||||||
foreach ($aReferences as $reference) {
|
foreach ($aReferences as $reference) {
|
||||||
// Extract range
|
// Extract range
|
||||||
list($currentCol,$currentRow) = sscanf($reference,'%[A-Z]%d');
|
list($currentCol,$currentRow) = sscanf($reference,'%[A-Z]%d');
|
||||||
|
@ -3589,7 +3590,8 @@ class PHPExcel_Calculation {
|
||||||
|
|
||||||
// Extract range
|
// Extract range
|
||||||
$aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange);
|
$aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange);
|
||||||
if (count($aReferences) == 1) {
|
if (!isset($aReferences[1])) {
|
||||||
|
// Single cell in range
|
||||||
list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($aReferences[0]);
|
list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($aReferences[0]);
|
||||||
if ($pSheet->cellExists($aReferences[0])) {
|
if ($pSheet->cellExists($aReferences[0])) {
|
||||||
$returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog);
|
$returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog);
|
||||||
|
@ -3597,7 +3599,7 @@ class PHPExcel_Calculation {
|
||||||
$returnValue[$currentRow][$currentCol] = null;
|
$returnValue[$currentRow][$currentCol] = null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Extract cell data
|
// Extract cell data for all cells in the range
|
||||||
foreach ($aReferences as $reference) {
|
foreach ($aReferences as $reference) {
|
||||||
// Extract range
|
// Extract range
|
||||||
list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($reference);
|
list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($reference);
|
||||||
|
|
|
@ -172,7 +172,7 @@ class PHPExcel_Writer_Excel2007 implements PHPExcel_Writer_IWriter
|
||||||
* @param string $pPartName Writer part name
|
* @param string $pPartName Writer part name
|
||||||
* @return PHPExcel_Writer_Excel2007_WriterPart
|
* @return PHPExcel_Writer_Excel2007_WriterPart
|
||||||
*/
|
*/
|
||||||
function getWriterPart($pPartName = '') {
|
public function getWriterPart($pPartName = '') {
|
||||||
if ($pPartName != '' && isset($this->_writerParts[strtolower($pPartName)])) {
|
if ($pPartName != '' && isset($this->_writerParts[strtolower($pPartName)])) {
|
||||||
return $this->_writerParts[strtolower($pPartName)];
|
return $this->_writerParts[strtolower($pPartName)];
|
||||||
} else {
|
} else {
|
||||||
|
@ -363,7 +363,7 @@ class PHPExcel_Writer_Excel2007 implements PHPExcel_Writer_IWriter
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function getPHPExcel() {
|
public function getPHPExcel() {
|
||||||
if ($this->_spreadSheet !== NULL) {
|
if ($this->_spreadSheet !== null) {
|
||||||
return $this->_spreadSheet;
|
return $this->_spreadSheet;
|
||||||
} else {
|
} else {
|
||||||
throw new Exception("No PHPExcel assigned.");
|
throw new Exception("No PHPExcel assigned.");
|
||||||
|
|
|
@ -858,7 +858,8 @@ class PHPExcel_Writer_Excel2007_Worksheet extends PHPExcel_Writer_Excel2007_Writ
|
||||||
$cellsByRow[$cellAddress[1]][] = $cellID;
|
$cellsByRow[$cellAddress[1]][] = $cellID;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($currentRow = 1; $currentRow <= $highestRow; ++$currentRow) {
|
$currentRow = 0;
|
||||||
|
while($currentRow++ < $highestRow) {
|
||||||
// Get row dimension
|
// Get row dimension
|
||||||
$rowDimension = $pSheet->getRowDimension($currentRow);
|
$rowDimension = $pSheet->getRowDimension($currentRow);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue