mirror of
https://github.com/retailcrm/PHPExcel.git
synced 2024-11-22 13:26:07 +03:00
Initial restructuring of cell object
This commit is contained in:
parent
0baa487442
commit
7b83894b10
@ -86,6 +86,11 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
|||||||
} // function __construct()
|
} // function __construct()
|
||||||
|
|
||||||
|
|
||||||
|
public function getParent()
|
||||||
|
{
|
||||||
|
return $this->_parent;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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?
|
||||||
*
|
*
|
||||||
@ -188,6 +193,23 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getCurrentAddress()
|
||||||
|
{
|
||||||
|
return $this->_currentObjectID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCurrentColumn()
|
||||||
|
{
|
||||||
|
list($column,$row) = sscanf($this->_currentObjectID, '%[A-Z]%d');
|
||||||
|
return $column;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCurrentRow()
|
||||||
|
{
|
||||||
|
list($column,$row) = sscanf($this->_currentObjectID, '%[A-Z]%d');
|
||||||
|
return $row;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get highest worksheet column
|
* Get highest worksheet column
|
||||||
*
|
*
|
||||||
|
@ -53,6 +53,10 @@ class PHPExcel_CachedObjectStorage_Memory extends PHPExcel_CachedObjectStorage_C
|
|||||||
*/
|
*/
|
||||||
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
public function addCacheData($pCoord, PHPExcel_Cell $cell) {
|
||||||
$this->_cellCache[$pCoord] = $cell;
|
$this->_cellCache[$pCoord] = $cell;
|
||||||
|
|
||||||
|
// Set current entry to the new/updated entry
|
||||||
|
$this->_currentObjectID = $pCoord;
|
||||||
|
|
||||||
return $cell;
|
return $cell;
|
||||||
} // function addCacheData()
|
} // function addCacheData()
|
||||||
|
|
||||||
@ -67,10 +71,14 @@ class PHPExcel_CachedObjectStorage_Memory extends PHPExcel_CachedObjectStorage_C
|
|||||||
public function getCacheData($pCoord) {
|
public function getCacheData($pCoord) {
|
||||||
// Check if the entry that has been requested actually exists
|
// Check if the entry that has been requested actually exists
|
||||||
if (!isset($this->_cellCache[$pCoord])) {
|
if (!isset($this->_cellCache[$pCoord])) {
|
||||||
|
$this->_currentObjectID = NULL;
|
||||||
// Return null if requested entry doesn't exist in cache
|
// Return null if requested entry doesn't exist in cache
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set current entry to the requested entry
|
||||||
|
$this->_currentObjectID = $pCoord;
|
||||||
|
|
||||||
// Return requested entry
|
// Return requested entry
|
||||||
return $this->_cellCache[$pCoord];
|
return $this->_cellCache[$pCoord];
|
||||||
} // function getCacheData()
|
} // function getCacheData()
|
||||||
|
@ -2274,7 +2274,7 @@ class PHPExcel_Calculation {
|
|||||||
|
|
||||||
$wsTitle = "\x00Wrk";
|
$wsTitle = "\x00Wrk";
|
||||||
if ($pCell !== NULL) {
|
if ($pCell !== NULL) {
|
||||||
$pCellParent = $pCell->getParent();
|
$pCellParent = $pCell->getWorksheet();
|
||||||
if ($pCellParent !== NULL) {
|
if ($pCellParent !== NULL) {
|
||||||
$wsTitle = $pCellParent->getTitle();
|
$wsTitle = $pCellParent->getTitle();
|
||||||
}
|
}
|
||||||
@ -2627,7 +2627,7 @@ class PHPExcel_Calculation {
|
|||||||
|
|
||||||
// If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent worksheet),
|
// If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent worksheet),
|
||||||
// so we store the parent worksheet so that we can re-attach it when necessary
|
// so we store the parent worksheet so that we can re-attach it when necessary
|
||||||
$pCellParent = ($pCell !== NULL) ? $pCell->getParent() : NULL;
|
$pCellParent = ($pCell !== NULL) ? $pCell->getWorksheet() : NULL;
|
||||||
|
|
||||||
// Binary Operators
|
// Binary Operators
|
||||||
// These operators always work on two values
|
// These operators always work on two values
|
||||||
@ -3011,7 +3011,7 @@ class PHPExcel_Calculation {
|
|||||||
|
|
||||||
// If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent worksheet),
|
// If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent worksheet),
|
||||||
// so we store the parent worksheet so that we can re-attach it when necessary
|
// so we store the parent worksheet so that we can re-attach it when necessary
|
||||||
$pCellParent = ($pCell !== NULL) ? $pCell->getParent() : null;
|
$pCellParent = ($pCell !== NULL) ? $pCell->getWorksheet() : null;
|
||||||
$stack = new PHPExcel_Calculation_Token_Stack;
|
$stack = new PHPExcel_Calculation_Token_Stack;
|
||||||
|
|
||||||
// Loop through each token in turn
|
// Loop through each token in turn
|
||||||
@ -3064,20 +3064,24 @@ class PHPExcel_Calculation {
|
|||||||
if ($sheet1 == $sheet2) {
|
if ($sheet1 == $sheet2) {
|
||||||
if ($operand1Data['reference'] === NULL) {
|
if ($operand1Data['reference'] === NULL) {
|
||||||
if ((trim($operand1Data['value']) != '') && (is_numeric($operand1Data['value']))) {
|
if ((trim($operand1Data['value']) != '') && (is_numeric($operand1Data['value']))) {
|
||||||
$operand1Data['reference'] = $pCell->getColumn().$operand1Data['value'];
|
$operand1Data['reference'] = $pCellParent->getCellCacheController()->getCurrentColumn() .
|
||||||
|
$operand1Data['value'];
|
||||||
} elseif (trim($operand1Data['reference']) == '') {
|
} elseif (trim($operand1Data['reference']) == '') {
|
||||||
$operand1Data['reference'] = $pCell->getCoordinate();
|
$operand1Data['reference'] = $pCellParent->getCellCacheController()->getCurrentAddress();
|
||||||
} else {
|
} else {
|
||||||
$operand1Data['reference'] = $operand1Data['value'].$pCell->getRow();
|
$operand1Data['reference'] = $operand1Data['value'] .
|
||||||
|
$pCellParent->getCellCacheController()->getCurrentRow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($operand2Data['reference'] === NULL) {
|
if ($operand2Data['reference'] === NULL) {
|
||||||
if ((trim($operand2Data['value']) != '') && (is_numeric($operand2Data['value']))) {
|
if ((trim($operand2Data['value']) != '') && (is_numeric($operand2Data['value']))) {
|
||||||
$operand2Data['reference'] = $pCell->getColumn().$operand2Data['value'];
|
$operand2Data['reference'] = $pCellParent->getCellCacheController()->getCurrentColumn() .
|
||||||
|
$operand2Data['value'];
|
||||||
} elseif (trim($operand2Data['reference']) == '') {
|
} elseif (trim($operand2Data['reference']) == '') {
|
||||||
$operand2Data['reference'] = $pCell->getCoordinate();
|
$operand2Data['reference'] = $pCellParent->getCellCacheController()->getCurrentAddress();
|
||||||
} else {
|
} else {
|
||||||
$operand2Data['reference'] = $operand2Data['value'].$pCell->getRow();
|
$operand2Data['reference'] = $operand2Data['value'] .
|
||||||
|
$pCellParent->getCellCacheController()->getCurrentRow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3245,7 +3249,7 @@ class PHPExcel_Calculation {
|
|||||||
if ($pCellParent !== NULL) {
|
if ($pCellParent !== NULL) {
|
||||||
if ($pCellParent->getParent()->getSheetByName($matches[2])->cellExists($cellRef)) {
|
if ($pCellParent->getParent()->getSheetByName($matches[2])->cellExists($cellRef)) {
|
||||||
$cellValue = $this->extractCellRange($cellRef, $pCellParent->getParent()->getSheetByName($matches[2]), false);
|
$cellValue = $this->extractCellRange($cellRef, $pCellParent->getParent()->getSheetByName($matches[2]), false);
|
||||||
$pCell->attach($pCellParent);
|
$pCell->attach($pCellParent->getCellCacheController());
|
||||||
} else {
|
} else {
|
||||||
$cellValue = null;
|
$cellValue = null;
|
||||||
}
|
}
|
||||||
@ -3259,7 +3263,7 @@ class PHPExcel_Calculation {
|
|||||||
$this->_writeDebug('Evaluating Cell '.$cellRef.' in current worksheet');
|
$this->_writeDebug('Evaluating Cell '.$cellRef.' in current worksheet');
|
||||||
if ($pCellParent->cellExists($cellRef)) {
|
if ($pCellParent->cellExists($cellRef)) {
|
||||||
$cellValue = $this->extractCellRange($cellRef, $pCellParent, false);
|
$cellValue = $this->extractCellRange($cellRef, $pCellParent, false);
|
||||||
$pCell->attach($pCellParent);
|
$pCell->attach($pCellParent->getCellCacheController());
|
||||||
} else {
|
} else {
|
||||||
$cellValue = null;
|
$cellValue = null;
|
||||||
}
|
}
|
||||||
@ -3384,7 +3388,7 @@ class PHPExcel_Calculation {
|
|||||||
// echo 'Named Range is '.$namedRange.'<br />';
|
// echo 'Named Range is '.$namedRange.'<br />';
|
||||||
$this->_writeDebug('Evaluating Named Range '.$namedRange);
|
$this->_writeDebug('Evaluating Named Range '.$namedRange);
|
||||||
$cellValue = $this->extractNamedRange($namedRange, ((null !== $pCell) ? $pCellParent : null), false);
|
$cellValue = $this->extractNamedRange($namedRange, ((null !== $pCell) ? $pCellParent : null), false);
|
||||||
$pCell->attach($pCellParent);
|
$pCell->attach($pCellParent->getCellCacheController());
|
||||||
$this->_writeDebug('Evaluation Result for named range '.$namedRange.' is '.$this->_showTypeDetails($cellValue));
|
$this->_writeDebug('Evaluation Result for named range '.$namedRange.' is '.$this->_showTypeDetails($cellValue));
|
||||||
$stack->push('Named Range',$cellValue,$namedRange);
|
$stack->push('Named Range',$cellValue,$namedRange);
|
||||||
} else {
|
} else {
|
||||||
|
@ -50,20 +50,6 @@ class PHPExcel_Cell
|
|||||||
*/
|
*/
|
||||||
private static $_valueBinder = NULL;
|
private static $_valueBinder = NULL;
|
||||||
|
|
||||||
/**
|
|
||||||
* Column of the cell
|
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $_column;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Row of the cell
|
|
||||||
*
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
private $_row;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Value of the cell
|
* Value of the cell
|
||||||
*
|
*
|
||||||
@ -93,7 +79,7 @@ class PHPExcel_Cell
|
|||||||
/**
|
/**
|
||||||
* Parent worksheet
|
* Parent worksheet
|
||||||
*
|
*
|
||||||
* @var PHPExcel_Worksheet
|
* @var PHPExcel_CachedObjectStorage_CacheBase
|
||||||
*/
|
*/
|
||||||
private $_parent;
|
private $_parent;
|
||||||
|
|
||||||
@ -117,7 +103,7 @@ class PHPExcel_Cell
|
|||||||
* @return void
|
* @return void
|
||||||
**/
|
**/
|
||||||
public function notifyCacheController() {
|
public function notifyCacheController() {
|
||||||
$this->_parent->getCellCacheController()->updateCacheData($this);
|
$this->_parent->updateCacheData($this);
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,24 +119,18 @@ class PHPExcel_Cell
|
|||||||
/**
|
/**
|
||||||
* Create a new Cell
|
* Create a new Cell
|
||||||
*
|
*
|
||||||
* @param string $pColumn
|
|
||||||
* @param int $pRow
|
|
||||||
* @param mixed $pValue
|
* @param mixed $pValue
|
||||||
* @param string $pDataType
|
* @param string $pDataType
|
||||||
* @param PHPExcel_Worksheet $pSheet
|
* @param PHPExcel_Worksheet $pSheet
|
||||||
* @throws PHPExcel_Exception
|
* @throws PHPExcel_Exception
|
||||||
*/
|
*/
|
||||||
public function __construct($pColumn = 'A', $pRow = 1, $pValue = NULL, $pDataType = NULL, PHPExcel_Worksheet $pSheet = NULL)
|
public function __construct($pValue = NULL, $pDataType = NULL, PHPExcel_Worksheet $pSheet = NULL)
|
||||||
{
|
{
|
||||||
// Initialise cell coordinate
|
|
||||||
$this->_column = strtoupper($pColumn);
|
|
||||||
$this->_row = $pRow;
|
|
||||||
|
|
||||||
// Initialise cell value
|
// Initialise cell value
|
||||||
$this->_value = $pValue;
|
$this->_value = $pValue;
|
||||||
|
|
||||||
// Set worksheet
|
// Set worksheet cache
|
||||||
$this->_parent = $pSheet;
|
$this->_parent = $pSheet->getCellCacheController();
|
||||||
|
|
||||||
// Set datatype?
|
// Set datatype?
|
||||||
if ($pDataType !== NULL) {
|
if ($pDataType !== NULL) {
|
||||||
@ -174,7 +154,7 @@ class PHPExcel_Cell
|
|||||||
*/
|
*/
|
||||||
public function getColumn()
|
public function getColumn()
|
||||||
{
|
{
|
||||||
return $this->_column;
|
return $this->_parent->getCurrentColumn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -184,7 +164,7 @@ class PHPExcel_Cell
|
|||||||
*/
|
*/
|
||||||
public function getRow()
|
public function getRow()
|
||||||
{
|
{
|
||||||
return $this->_row;
|
return $this->_parent->getCurrentRow();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -194,7 +174,7 @@ class PHPExcel_Cell
|
|||||||
*/
|
*/
|
||||||
public function getCoordinate()
|
public function getCoordinate()
|
||||||
{
|
{
|
||||||
return $this->_column . $this->_row;
|
return $this->_parent->getCurrentAddress();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -216,7 +196,7 @@ class PHPExcel_Cell
|
|||||||
{
|
{
|
||||||
return (string) PHPExcel_Style_NumberFormat::toFormattedString(
|
return (string) PHPExcel_Style_NumberFormat::toFormattedString(
|
||||||
$this->getCalculatedValue(),
|
$this->getCalculatedValue(),
|
||||||
$this->_parent->getParent()->getCellXfByIndex($this->getXfIndex())
|
$this->_parent->getParent()->getParent()->getCellXfByIndex($this->getXfIndex())
|
||||||
->getNumberFormat()->getFormatCode()
|
->getNumberFormat()->getFormatCode()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -294,7 +274,7 @@ class PHPExcel_Cell
|
|||||||
if ($this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA) {
|
if ($this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA) {
|
||||||
try {
|
try {
|
||||||
// echo 'Cell value for '.$this->getCoordinate().' is a formula: Calculating value<br />';
|
// echo 'Cell value for '.$this->getCoordinate().' is a formula: Calculating value<br />';
|
||||||
$result = PHPExcel_Calculation::getInstance()->calculateCellValue($this,$resetLog);
|
$result = PHPExcel_Calculation::getInstance()->calculateCellValue($this, $resetLog);
|
||||||
// echo $this->getCoordinate().' calculation result is '.$result.'<br />';
|
// echo $this->getCoordinate().' calculation result is '.$result.'<br />';
|
||||||
} catch ( PHPExcel_Exception $ex ) {
|
} catch ( PHPExcel_Exception $ex ) {
|
||||||
if (($ex->getMessage() === 'Unable to access External Workbook') && ($this->_calculatedValue !== NULL)) {
|
if (($ex->getMessage() === 'Unable to access External Workbook') && ($this->_calculatedValue !== NULL)) {
|
||||||
@ -394,7 +374,7 @@ class PHPExcel_Cell
|
|||||||
throw new PHPExcel_Exception('Cannot check for data validation when cell is not bound to a worksheet');
|
throw new PHPExcel_Exception('Cannot check for data validation when cell is not bound to a worksheet');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->_parent->dataValidationExists($this->getCoordinate());
|
return $this->_parent->getParent()->dataValidationExists($this->getCoordinate());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -409,7 +389,7 @@ class PHPExcel_Cell
|
|||||||
throw new PHPExcel_Exception('Cannot get data validation for cell that is not bound to a worksheet');
|
throw new PHPExcel_Exception('Cannot get data validation for cell that is not bound to a worksheet');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->_parent->getDataValidation($this->getCoordinate());
|
return $this->_parent->getParent()->getDataValidation($this->getCoordinate());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -425,7 +405,7 @@ class PHPExcel_Cell
|
|||||||
throw new PHPExcel_Exception('Cannot set data validation for cell that is not bound to a worksheet');
|
throw new PHPExcel_Exception('Cannot set data validation for cell that is not bound to a worksheet');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_parent->setDataValidation($this->getCoordinate(), $pDataValidation);
|
$this->_parent->getParent()->setDataValidation($this->getCoordinate(), $pDataValidation);
|
||||||
|
|
||||||
return $this->notifyCacheController();
|
return $this->notifyCacheController();
|
||||||
}
|
}
|
||||||
@ -442,7 +422,7 @@ class PHPExcel_Cell
|
|||||||
throw new PHPExcel_Exception('Cannot check for hyperlink when cell is not bound to a worksheet');
|
throw new PHPExcel_Exception('Cannot check for hyperlink when cell is not bound to a worksheet');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->_parent->hyperlinkExists($this->getCoordinate());
|
return $this->_parent->getParent()->hyperlinkExists($this->getCoordinate());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -457,7 +437,7 @@ class PHPExcel_Cell
|
|||||||
throw new PHPExcel_Exception('Cannot get hyperlink for cell that is not bound to a worksheet');
|
throw new PHPExcel_Exception('Cannot get hyperlink for cell that is not bound to a worksheet');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->_parent->getHyperlink($this->getCoordinate());
|
return $this->_parent->getParent()->getHyperlink($this->getCoordinate());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -473,7 +453,7 @@ class PHPExcel_Cell
|
|||||||
throw new PHPExcel_Exception('Cannot set hyperlink for cell that is not bound to a worksheet');
|
throw new PHPExcel_Exception('Cannot set hyperlink for cell that is not bound to a worksheet');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_parent->setHyperlink($this->getCoordinate(), $pHyperlink);
|
$this->_parent->getParent()->setHyperlink($this->getCoordinate(), $pHyperlink);
|
||||||
|
|
||||||
return $this->notifyCacheController();
|
return $this->notifyCacheController();
|
||||||
}
|
}
|
||||||
@ -484,7 +464,16 @@ class PHPExcel_Cell
|
|||||||
* @return PHPExcel_Worksheet
|
* @return PHPExcel_Worksheet
|
||||||
*/
|
*/
|
||||||
public function getParent() {
|
public function getParent() {
|
||||||
return $this->_parent;
|
return $this->_parent->getParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get parent worksheet
|
||||||
|
*
|
||||||
|
* @return PHPExcel_Worksheet
|
||||||
|
*/
|
||||||
|
public function getWorksheet() {
|
||||||
|
return $this->_parent->getParent();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -494,7 +483,7 @@ class PHPExcel_Cell
|
|||||||
* @return PHPExcel_Cell
|
* @return PHPExcel_Cell
|
||||||
*/
|
*/
|
||||||
public function rebindParent(PHPExcel_Worksheet $parent) {
|
public function rebindParent(PHPExcel_Worksheet $parent) {
|
||||||
$this->_parent = $parent;
|
$this->_parent = $parent->getCellCacheController();
|
||||||
|
|
||||||
return $this->notifyCacheController();
|
return $this->notifyCacheController();
|
||||||
}
|
}
|
||||||
@ -865,11 +854,11 @@ class PHPExcel_Cell
|
|||||||
*/
|
*/
|
||||||
public static function compareCells(PHPExcel_Cell $a, PHPExcel_Cell $b)
|
public static function compareCells(PHPExcel_Cell $a, PHPExcel_Cell $b)
|
||||||
{
|
{
|
||||||
if ($a->_row < $b->_row) {
|
if ($a->getRow() < $b->getRow()) {
|
||||||
return -1;
|
return -1;
|
||||||
} elseif ($a->_row > $b->_row) {
|
} elseif ($a->getRow() > $b->getRow()) {
|
||||||
return 1;
|
return 1;
|
||||||
} elseif (self::columnIndexFromString($a->_column) < self::columnIndexFromString($b->_column)) {
|
} elseif (self::columnIndexFromString($a->getColumn()) < self::columnIndexFromString($b->getColumn())) {
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -696,17 +696,18 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable
|
|||||||
// loop through all cells in the worksheet
|
// loop through all cells in the worksheet
|
||||||
foreach ($this->getCellCollection(false) as $cellID) {
|
foreach ($this->getCellCollection(false) as $cellID) {
|
||||||
$cell = $this->getCell($cellID);
|
$cell = $this->getCell($cellID);
|
||||||
if (isset($autoSizes[$cell->getColumn()])) {
|
if (isset($autoSizes[$this->_cellCollection->getCurrentColumn()])) {
|
||||||
// Determine width if cell does not participate in a merge
|
// Determine width if cell does not participate in a merge
|
||||||
if (!isset($isMergeCell[$cell->getCoordinate()])) {
|
if (!isset($isMergeCell[$this->_cellCollection->getCurrentAddress()])) {
|
||||||
// Calculated value
|
// Calculated value
|
||||||
$cellValue = $cell->getCalculatedValue();
|
|
||||||
|
|
||||||
// To formatted string
|
// To formatted string
|
||||||
$cellValue = PHPExcel_Style_NumberFormat::toFormattedString($cellValue, $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode());
|
$cellValue = PHPExcel_Style_NumberFormat::toFormattedString(
|
||||||
|
$cell->getCalculatedValue(),
|
||||||
|
$this->getParent()->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode()
|
||||||
|
);
|
||||||
|
|
||||||
$autoSizes[$cell->getColumn()] = max(
|
$autoSizes[$this->_cellCollection->getCurrentColumn()] = max(
|
||||||
(float)$autoSizes[$cell->getColumn()],
|
(float)$autoSizes[$this->_cellCollection->getCurrentColumn()],
|
||||||
(float)PHPExcel_Shared_Font::calculateColumnWidth(
|
(float)PHPExcel_Shared_Font::calculateColumnWidth(
|
||||||
$this->getParent()->getCellXfByIndex($cell->getXfIndex())->getFont(),
|
$this->getParent()->getCellXfByIndex($cell->getXfIndex())->getFont(),
|
||||||
$cellValue,
|
$cellValue,
|
||||||
@ -1118,7 +1119,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable
|
|||||||
// Coordinates
|
// Coordinates
|
||||||
$aCoordinates = PHPExcel_Cell::coordinateFromString($pCoordinate);
|
$aCoordinates = PHPExcel_Cell::coordinateFromString($pCoordinate);
|
||||||
|
|
||||||
$cell = $this->_cellCollection->addCacheData($pCoordinate,new PHPExcel_Cell($aCoordinates[0], $aCoordinates[1], null, PHPExcel_Cell_DataType::TYPE_NULL, $this));
|
$cell = $this->_cellCollection->addCacheData($pCoordinate,new PHPExcel_Cell(NULL, PHPExcel_Cell_DataType::TYPE_NULL, $this));
|
||||||
$this->_cellCollectionIsSorted = false;
|
$this->_cellCollectionIsSorted = false;
|
||||||
|
|
||||||
if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($aCoordinates[0]))
|
if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($aCoordinates[0]))
|
||||||
@ -1158,7 +1159,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable
|
|||||||
$coordinate = $columnLetter . $pRow;
|
$coordinate = $columnLetter . $pRow;
|
||||||
|
|
||||||
if (!$this->_cellCollection->isDataSet($coordinate)) {
|
if (!$this->_cellCollection->isDataSet($coordinate)) {
|
||||||
$cell = $this->_cellCollection->addCacheData($coordinate, new PHPExcel_Cell($columnLetter, $pRow, null, PHPExcel_Cell_DataType::TYPE_NULL, $this));
|
$cell = $this->_cellCollection->addCacheData($coordinate, new PHPExcel_Cell(NULL, PHPExcel_Cell_DataType::TYPE_NULL, $this));
|
||||||
$this->_cellCollectionIsSorted = false;
|
$this->_cellCollectionIsSorted = false;
|
||||||
|
|
||||||
if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < $pColumn)
|
if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < $pColumn)
|
||||||
|
Loading…
Reference in New Issue
Block a user