Создание 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 документа данными

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

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

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

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

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

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

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

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

Список котов

Список котов

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

 

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

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