Советы по PHP : Из PHP в Excel: работа с COM-объектами
смотрим также
Материал из Справочник Web-языков
Данная серия статей посвящена созданию документов Excel при помощи PHP. Данная возможнось может понадобиться, например, если нужно предоставить пользователю загружаемые данные в виде листов Excel. Это могут быть прайсы на продукцию, автоматически генерируемые из базы данных на сервере, либо какие-то документы, которые также необходимо представить в виде документов Excel.
Здесь рассматривается возможность работы с Excel-документами через COM-объект. К сожалению работа с COM-объектами в PHP возможна только на Windows-платформах. По-этому если Вы используете Unix-хостинг, то создавать и редактировать Excel-документы приведенным ниже способом не получится.
Работа с COM-объектами производится при помощи синтаксиса
$com_object = new COM($object);
где
- $com_object - новый COM-объект;
- $object - id-класс требуемого объекта.
Для создания Excel-документов переменной $object необходимо задать значение "Excel.Application" либо "Excel.sheet".
$xsl = new COM("Excel.Application");
После создания нового COM-объекта, можно обращаться к его свойствам и методам:
<?php $xls = new COM("Excel.Application"); // Создаем новый COM-объект $xls->Application->Visible = 1; // Заставляем его отобразиться $xls->Workbooks->Add(); // Добавляем новый документ $rangeValue = $xls->Range("A1"); $rangeValue->Value = "В выделенном блоке текст будет жирный, подчеркнутый, наклонный"; $rangeValue = $xls->Range("A2"); $rangeValue->Value = "Шрифт будет иметь высоту 12"; $rangeValue = $xls->Range("A3"); $rangeValue->Value = "Имя шрифта - Times New Roman"; $range=$xls->Range("A1:J10"); // Определяем область ячеек $range->Select(); // Выделяем ее $fontRange=$xls->Selection(); // Присваиваем переменной выделенную область // Далее задаем параметры форматирования текста в выделенной области $fontRange->Font->Bold = true; // Жирный $fontRange->Font->Italic = true; // Курсив $fontRange->Font->Underline = true; // Подчеркнутый $fontRange->Font->Name = "Times New Roman"; // Имя шрифта $fontRange->Font->Size = 12; // Размер шрифта ?>