Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.
<?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
> * @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; } }