Как-то так получилось, что c давних пор я считал генерацию файла Excel (.xls) из скриптов PHP сложной и нудной работой. Формат был закрыт, да и нормальных библиотек не найдешь. Из «адекватных» вариантов было либо использование библиотек на Perl, либо создание «переходных» форматов (csv, xml, html) которые мог бы импортировать Excel.
Но как оказалось все меняется…
Недавно снова возникла задача сгенерировать простой отчет в таблице Excel. Сначала хотел описаться в стиле: вот вам CSV созданный PHP-шным скриптом. а дальше мол сами в Excel его грузите…
Но решил все таки глянуть, а что изменилось с древних лет 🙂
И почти сразу же нашел очень достойную библиотеку: phpexcel.codeplex.com
Бибилиотека имеет очень большой размер (архив около 18 Мб). Но это решается очень просто. Основной объем создают файлы шрифтов и бинарные файлы необходимые для генерации PDF. Если это не нужно, то библиотека урезается примерно до 3 Мб. Возможно можно и меньше, но экономия времени ценее, чем экономия места на дисках сервера.
Библиотеке нужна версия PHP 5.2.x или старше. Но с этим мне кажется тоже не должно быть неразрешимых проблем.
Во всем остальном только сплошные плюсы:
1. Очень много хороших и подробных примеров. Я свою простую задачу решил вообще не заглядывая в документацию.
2. Кстати документация тоже есть.
3. Возможности для генерации excel файлов, просто поражают: работа со стилем и содержимым ячеек. Работа с вкладками. Возможность использовать формулы и графики… И судя по всему много чего.
От библиотеки остались только положительные впечатления. И теперь я планирую в нескольких проектах перевести генерацию различных отчетов с CSV на XLS — надо порадовать своих пользователей.