Создание Excel документа на PHP (генерация .xls файлов)

Привет! Однажды у меня возникала задача по генерации отчетов в Excel на backend’е, которую я решил и теперь могу поделиться одним из способов создания документов Excel и добавлением в них данных средствами PHP.

Существует несколько библиотек для работы с xls файлами на PHP, но мы рассмотрим PHPExcel, попробуем создать файл xls, наполнить его данными и немного оформить стиль, то есть разберемся с базовым функционалом, которого будет достаточно для выполнения многих задач связанных с генерацией документов Excel на PHP. Однако, библиотека позволяет делать многое, в том числе работать с формулами, применять различные стили оформления, работать с листами.

Код скрипта, который вы увидите по ходу прочтения статьи, доступен на github.

Библиотека PHPExcel доступна в Composer как PHPOffice/PHPExcel. Я инициализирую в пустом каталоге composer и добавлю в зависимости PHPOffice/PHPExcel.

После создам файл generator.php и в нем подключу автозагрузку библиотек Composer’а.

Теперь можно приступить к работе, используя библиотеку PHPExcel.

Давайте создадим пустой документ со списком котов «CatList».

Мы создали экземпляр класса PHPExcell и создали объект, используя фабрику, который занимается сохранением документов. Кстати, вторым аргументом метода createWriter можно передавать значение «PDF» и таким образом генерировать PDF файлы средствами PHP.

После запуска скрипта в директории появился файл CatList.xls, его можно открыть в Excel и убедиться, что он пустой и программа его открывает без ошибок.

Заполнение Excel документа данными

Давайте попробуем засунуть в файл список котов, создав три столбца с порядковым номером, именем и цветом шерстки. Сперва нам нужны исходные данные, их мы создадим вручную в виде массива

Наша табличка будет иметь заголовок, вписанный в три объединенные клетки. При этом мы сделаем возможность выбора координат для отрисовки таблички.

На выходе получаем документ с заголовком, вставленным в объединенную ячейку по центру. Перейдем к отрисовке шапки.

На выходе получаем

Шапка документа

Шапка документа

Перейдем к заполнению данными из списка наших котов.

Теперь, открыв отчёт, можно убедиться, что он сформирован как нужно.

Список котов

Список котов

Весь код скрипта

 

Создание Excel документа на PHP (генерация .xls файлов): 3 комментария

  1. Алексей

    Спасибо за статью, все отлично работает. Было бы круто, если была бы рассмотрена работа с изображениями в этом пакете.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *