Советы по PHP : Из PHP в Excel: работа с COM-объектами : Формат ячеек: Шрифт
смотрим также
Материал из Справочник Web-языков
Общие возможности
В Excel при помощи PHP с текстом, записанным в ячейках, можно сделать следующее:
- сделать жирным;
- выделить курсивом;
- сделать подчеркнутым;
- установить шрифт;
- установить размер шрифта;
- установить цвет текста;
Форматирование текста
Методика обращения к свойствам текста следующая:
- сначала в ранее созданном документе задаем диапазон ячеек, к которым будет применено форматирование текста;
- выделяем его;
- присваиваем переменной выделенный диапазон значений;
- при помощи объекта Font() получаем доступ к форматированию выделенного фрагмента.
<?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; // Размер шрифта ?>
Задание цвета текста
Цвет текста задается при помощи свойства ColorIndex() все того же объекта Font().
<?php $xls = new COM("Excel.Application"); // Создаем новый COM-объект $xls->Application->Visible = 1; // Заставляем его отобразиться $xls->Workbooks->Add(); // Добавляем новый документ $range = $xls->Range("A1"); $range->Value = "Текст будет написан красным"; $range->Font->ColorIndex = 3; ?>
Есть одна особенность: цвет текста задается не в каком-либо формате (RGB, CMYK и т.д.), а номером, под которым он находится в палитре Excel-а.
Всего в палитре присутствует 55 цветов и одно значение отводиться под автоцвет. Итого при помощи свойства ColorIndex() можно задать 56 значений цвета.
Следующий пример выведет в документе Excel все возможные значения свойства ColorIndex():
<?php $xls = new COM("Excel.Application"); // Создаем новый COM-объект $xls->Application->Visible = 1; // Заставляем его отобразиться $xls->Workbooks->Add(); // Добавляем новый документ $min_color_index=0; // Начальный индекс цвета $max_color_index=55; // Конечный индекс цвета $start_position=2; // Номер позиции, с которой начнется показ // индексов цвета // Выводим надпись "Номер цвета" $range = $xls->Range("A1:B1"); $range->Font->Bold = true; $range = $xls->Range("A1"); $range->Value = "Номера цветов"; // Выводим значения индексов цвета и окрашиваем эти значения // соответствующим цветом for($i=$min_color_index;$iRange("A".($i+$start_position)); $range->Value = "ColorIndex = ".$i; $range->Font->ColorIndex = $i; }; ?>