See Release Notes
Long Term Support Release
<?php namespace PhpOffice\PhpSpreadsheet\Worksheet;> use PhpOffice\PhpSpreadsheet\Cell\Coordinate; class ColumnDimension extends Dimension > use PhpOffice\PhpSpreadsheet\Helper\Dimension as CssDimension; { >/** * Column index. * * @var string */ private $columnIndex; /** * Column width. * * When this is set to a negative value, the column width should be ignored by IWriter * * @var float */ private $width = -1; /** * Auto size? * * @var bool */ private $autoSize = false; /** * Create a new ColumnDimension. *< * @param string $pIndex Character column index> * @param string $index Character column index*/< public function __construct($pIndex = 'A')> public function __construct($index = 'A'){ // Initialise values< $this->columnIndex = $pIndex;> $this->columnIndex = $index;// set dimension as unformatted by default parent::__construct(0); } /** * Get column index as string eg: 'A'.< * < * @return string*/< public function getColumnIndex()> public function getColumnIndex(): string{ return $this->columnIndex; } /** * Set column index as string eg: 'A'.< * < * @param string $pValue < * < * @return ColumnDimension*/< public function setColumnIndex($pValue)> public function setColumnIndex(string $index): self{< $this->columnIndex = $pValue;> $this->columnIndex = $index;return $this; } /**< * Get Width. < * < * @return float> * Get column index as numeric.*/< public function getWidth()> public function getColumnNumeric(): int{< return $this->width;> return Coordinate::columnIndexFromString($this->columnIndex);} /**< * Set Width. < * < * @param float $pValue < * < * @return ColumnDimension> * Set column index as numeric.*/< public function setWidth($pValue)> public function setColumnNumeric(int $index): self{< $this->width = $pValue;> $this->columnIndex = Coordinate::stringFromColumnIndex($index);return $this; } /**< * Get Auto Size.> * Get Width.*< * @return bool> * Each unit of column width is equal to the width of one character in the default font size. A value of -1 > * tells Excel to display this column in its default width. > * By default, this will be the return value; but this method also accepts an optional unit of measure argument > * and will convert the returned value to the specified UoM.. > */ > public function getWidth(?string $unitOfMeasure = null): float > { > return ($unitOfMeasure === null || $this->width < 0) > ? $this->width > : (new CssDimension((string) $this->width))->toUnit($unitOfMeasure); > } > > /** > * Set Width. > * > * Each unit of column width is equal to the width of one character in the default font size. A value of -1 > * tells Excel to display this column in its default width. > * By default, this will be the unit of measure for the passed value; but this method also accepts an > * optional unit of measure argument, and will convert the value from the specified UoM using an > * approximation method. > * > * @return $this > */ > public function setWidth(float $width, ?string $unitOfMeasure = null) > { > $this->width = ($unitOfMeasure === null || $width < 0) > ? $width > : (new CssDimension("{$width}{$unitOfMeasure}"))->width(); > > return $this; > } > > /** > * Get Auto Size.*/< public function getAutoSize()> public function getAutoSize(): bool{ return $this->autoSize; } /** * Set Auto Size. *< * @param bool $pValue < * < * @return ColumnDimension> * @return $this*/< public function setAutoSize($pValue)> public function setAutoSize(bool $autosizeEnabled){< $this->autoSize = $pValue;> $this->autoSize = $autosizeEnabled;return $this; } }