index spécifique pour odd/even

This commit is contained in:
Jephté Clain 2024-11-29 18:38:04 +04:00
parent 23ded28680
commit 4865e6a1fc

View File

@ -197,8 +197,11 @@ class SpoutBuilder extends AbstractBuilder {
protected ?bool $differentOddEven = null; protected ?bool $differentOddEven = null;
function setDifferentOddEven(bool $differentOddEven): self { protected int $oddEvenIndex = 1;
function setDifferentOddEven(bool $differentOddEven, bool $startWithOdd=true): self {
$this->differentOddEven = $differentOddEven; $this->differentOddEven = $differentOddEven;
if ($differentOddEven) $this->oddEvenIndex = $startWithOdd? 1: 0;
return $this; return $this;
} }
@ -335,12 +338,13 @@ class SpoutBuilder extends AbstractBuilder {
} }
if ($this->rowStyle === self::STYLE_HEADER) { if ($this->rowStyle === self::STYLE_HEADER) {
$rowStyle ??= $headerStyle; $rowStyle ??= $headerStyle;
} elseif ($differentOddEven && ($this->index + 1) % 2 == 0) { } elseif ($differentOddEven && $this->oddEvenIndex % 2 == 0) {
$rowStyle ??= $evenStyle; $rowStyle ??= $evenStyle;
} }
$rowStyle ??= $oddStyle; $rowStyle ??= $oddStyle;
self::ensure_style($rowStyle); self::ensure_style($rowStyle);
$this->ss->addRow(WriterEntityFactory::createRow($cells, $rowStyle)); $this->ss->addRow(WriterEntityFactory::createRow($cells, $rowStyle));
if ($differentOddEven) $this->oddEvenIndex++;
} }
function writeHeaders(?array $headers=null): void { function writeHeaders(?array $headers=null): void {