From fbe6f0b541ed7073535ff7ddb0166bffd711d372 Mon Sep 17 00:00:00 2001 From: Josue <129712493+jnunez95@users.noreply.github.com> Date: Mon, 31 Jul 2023 13:50:57 -0500 Subject: [PATCH] Refactor code for headers when modify width row (#11) * Add ability to set columns width (#1) * Comment code for transform always data (#2) * Update composer.json * Update composer.json * Update composer.json * Update composer.json * Update composer.json * Update composer.json * Update to PHP 8.* * refactor code modify header row * refactor code modify header row --------- Co-authored-by: Eliurkis Diaz Co-authored-by: Dariel Ramos --- src/Exportable.php | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/Exportable.php b/src/Exportable.php index 9314e9b..98281ac 100644 --- a/src/Exportable.php +++ b/src/Exportable.php @@ -131,9 +131,6 @@ private function exportOrDownload($path, $function, callable $callback = null) $writer->addNewSheetAndMakeItCurrent(); } } - if ($has_sheets) { - $this->resizeColumnWidths($writer->getCurrentSheet()); - } $writer->close(); } @@ -255,6 +252,14 @@ private function writeHeader($writer, $first_row) : array_keys(is_array($first_row) ? $first_row : $first_row->toArray()); $writer->addRow(Row::fromValues($keys, $this->header_style)); + + if (!empty($this->columns_width)) { + $sheet = $writer->getCurrentSheet(); + + foreach (array_values($this->columns_width) as $key => $value) { + $sheet->setColumnWidth($value, $key + 1); // Excel start from column 1 + } + } // $writer->addRow(WriterEntityFactory::createRowFromArray($keys, $this->header_style)); } @@ -344,19 +349,4 @@ public function setColumnsWidth($widths) return $this; } - - /** - * @param $sheet - * @return void - */ - private function resizeColumnWidths($sheet): void - { - if (empty($this->columns_width) || empty($sheet)) { - return; - } - - foreach (array_values($this->columns_width) as $key => $value) { - $sheet->setColumnWidth($value, $key + 1); // Excel start from column 1 - } - } }