Excel-файл из PHP
Появилась задача создания простых таблиц excel налету.
В принципе, если поискть в сети, то можно найти ряд готовых инструментов для создания *.xls файлов.
Делюсь с вами коротким обзором.
Spreadsheet_Excel_Writer – целый пакет для решения подобных задач. Но необходимо наличие PEAR на сервере, а в подавляющем большинстве виртуальных хостингов PEAR не подключен. Конечно, можно собрать все файлы пакета в одном месте, поиграться с путями, но в моем случае овчинка не стоит выделки.
Можно генерить xls-файлы используя COM-объекты (пример: http://www.spravkaweb.ru/php/sovet/excelcom), но COM — это это прерогатива windows-серверов, поэтому и этот вариант отпадает.
PHP Simple Excel File Generator – рабочее название psxlsgen. Класс для генерирования excel-файлов. Честно говорю, что не успел попробовать его в работе. Может когда-нибудь придется и его поковырять.
Ну и конечно можно поискать другие классы для решения нашей задачи на http://www.phpclasses.org/ по ключам excel php
Но для решения моей задачи не пригодилось ничего из описанного мной выше. Ведь excel запросто понимает html-код. Поэтому мне для создания простого списка элементов в excel достаточно было сгенерировать html-страницу c отправкой соответствующих заголовков.
Пример:
<?PHP
header(«Content-Type: application/vnd.ms-excel»);
header(«Content-Disposition: attachment; filename=file.xls»);
header(«Content-Transfer-Encoding: binary»);print »
<table border=\»1\»>
<tr>
<td width=\»200\»><b>Заголовок 1</b></td>
<td><b>Заголовок 1</b></td>
</tr>
<tr>
<td>Элемент 1</td>
<td>Описание 1</td>
</tr>
<tr>
<td>Элемент 2</td>
<td>Описание 2</td>
</tr>
</table>
«;
?>