<?php
namespace PhpOffice\PhpSpreadsheet\Worksheet;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use PhpOffice\PhpSpreadsheet\Helper\Dimension as CssDimension;
class ColumnDimension extends Dimension
{
/**
* 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 $index Character column index
*/
public function __construct($index = 'A')
{
// Initialise values
$this->columnIndex = $index;
// set dimension as unformatted by default
parent::__construct(0);
}
/**
* Get column index as string eg: 'A'.
*/
public function getColumnIndex(): ?string
{
return $this->columnIndex;
}
/**
* Set column index as string eg: 'A'.
*/
public function setColumnIndex(string $index): self
{
$this->columnIndex = $index;
return $this;
}
/**
* Get column index as numeric.
*/
public function getColumnNumeric(): int
{
return Coordinate::columnIndexFromString($this->columnIndex ?? '');
}
/**
* Set column index as numeric.
*/
public function setColumnNumeric(int $index): self
{
$this->columnIndex = Coordinate::stringFromColumnIndex($index);
return $this;
}
/**
* Get 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 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(): bool
{
return $this->autoSize;
}
/**
* Set Auto Size.
*
* @return $this
*/
public function setAutoSize(bool $autosizeEnabled)
{
$this->autoSize = $autosizeEnabled;
return $this;
}
}
To access the Kueue Pay Developer API, you’ll need an API key. You can obtain your API key by logging in to your Kueue Pay merchant account and navigating to the API section. Collect Client ID , Secret ID & Merchant ID Carefully. Keep your API key confidential and do not share it publicly.