Задать вопрос
  • Как можно сделать шаблонизацию Excel на PHP?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Не думаю, что получится подобным образом шаблонизировать циклы. Я подобного не встречалc в PhpSpreadsheet.
    Вы можете делать вставку N строк(1) с последующим их наполнением(2):
    $reader = IOFactory::createReader('Xlsx');
    $spreadsheet = $reader->load($template);
    
    if ($rowsCurrentPeriod) {
        $sheet = $spreadsheet->setActiveSheetIndex(1);
        if (($count = count($rowsCurrentPeriod)) > 2) {
            $sheet->insertNewRowBefore(8, $count - 2); # <-- 1
        }
        $sheet->fromArray($rowsCurrentPeriod, null, 'A7', true); # <-- 2
    }
    
    $spreadsheet->setActiveSheetIndex(0);
    $writer = new Xlsx($spreadsheet);
    $writer->save($filepath);
    Ответ написан
    1 комментарий