rows; } public function title(): string { return $this->sheetTitle; } public function styles(Worksheet $sheet): array { $sheet->getPageSetup()->setPaperSize(PageSetup::PAPERSIZE_A4); $sheet->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE); $sheet->getPageSetup()->setFitToPage(true); $sheet->getPageSetup()->setFitToWidth(1); $sheet->getPageSetup()->setFitToHeight(0); $sheet->getPageMargins()->setTop(0.2); $sheet->getPageMargins()->setBottom(0.2); $sheet->getPageMargins()->setLeft(0.2); $sheet->getPageMargins()->setRight(0.2); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $sheet->getStyle("A1:{$highestColumn}{$highestRow}")->applyFromArray([ 'alignment' => [ 'horizontal' => Alignment::HORIZONTAL_LEFT, 'vertical' => Alignment::VERTICAL_CENTER, 'wrapText' => true, ], 'borders' => [ 'allBorders' => [ 'borderStyle' => Border::BORDER_THIN, 'color' => ['argb' => 'D0D7DE'], ], ], ]); $sheet->getStyle("A1:{$highestColumn}1")->applyFromArray([ 'font' => [ 'bold' => true, ], 'fill' => [ 'fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'EEF2FF'], ], ]); for ($row = 1; $row <= $highestRow; $row++) { $firstCell = (string) $sheet->getCell("A{$row}")->getValue(); $secondCell = (string) $sheet->getCell("B{$row}")->getValue(); // Строки секций (МИС / Спец. контингент) if (in_array($firstCell, ['МИС', 'Спец. контингент'], true) && $secondCell === '') { $sheet->getStyle("A{$row}:{$highestColumn}{$row}")->applyFromArray([ 'font' => ['bold' => true], 'fill' => [ 'fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'F4F6F8'], ], ]); } } $sheet->freezePane('A2'); return []; } }