Введение
Данная серия статей посвящена созданию документов 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; // Размер шрифта ?>
Далее в этом разделе я приведу примеры работы с основными наиболее исползуемыми свойствами и методами: