Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Как я в студенчестве подсел на компьютеры одного бренда и, повзрослев, встретил их снова
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
vitaosipq

Виталий Осипов

разработчик, начинающий фрилансер
  • 1
    вклад
  • 0
    вопросов
  • 6
    ответов
  • 0%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как можно сделать шаблонизацию 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 комментарий
    Нравится 2 1 комментарий
Оценили как «Нравится»
Самые активные сегодня
  • Dr. Bacon
    • 12 ответов
    • 0 вопросов
  • SoreMix
    SoreMix
    • 6 ответов
    • 0 вопросов
  • Kozack
    Alex
    • 6 ответов
    • 0 вопросов
  • Vene4ka
    Захар Винокуров
    • 2 ответа
    • 4 вопроса
  • adugin
    Andrey Dugin
    • 6 ответов
    • 0 вопросов
  • wapster92
    WapSter
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации