From 4865e6a1fcb962733c83c89012749a67d2aeeef4 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Fri, 29 Nov 2024 18:38:04 +0400 Subject: [PATCH] =?UTF-8?q?index=20sp=C3=A9cifique=20pour=20odd/even?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/spout/SpoutBuilder.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/spout/SpoutBuilder.php b/src/spout/SpoutBuilder.php index 8d6d7d5..aa7cf1f 100644 --- a/src/spout/SpoutBuilder.php +++ b/src/spout/SpoutBuilder.php @@ -197,8 +197,11 @@ class SpoutBuilder extends AbstractBuilder { protected ?bool $differentOddEven = null; - function setDifferentOddEven(bool $differentOddEven): self { + protected int $oddEvenIndex = 1; + + function setDifferentOddEven(bool $differentOddEven, bool $startWithOdd=true): self { $this->differentOddEven = $differentOddEven; + if ($differentOddEven) $this->oddEvenIndex = $startWithOdd? 1: 0; return $this; } @@ -335,12 +338,13 @@ class SpoutBuilder extends AbstractBuilder { } if ($this->rowStyle === self::STYLE_HEADER) { $rowStyle ??= $headerStyle; - } elseif ($differentOddEven && ($this->index + 1) % 2 == 0) { + } elseif ($differentOddEven && $this->oddEvenIndex % 2 == 0) { $rowStyle ??= $evenStyle; } $rowStyle ??= $oddStyle; self::ensure_style($rowStyle); $this->ss->addRow(WriterEntityFactory::createRow($cells, $rowStyle)); + if ($differentOddEven) $this->oddEvenIndex++; } function writeHeaders(?array $headers=null): void {