Советы по PHP : Из PHP в Excel: работа с COM-объектами : Формат ячеек: Шрифт

Материал из Справочник Web-языков.

Перейти к: навигация, поиск
Главная  ::. PHP  ::. Советы по PHP  ::. Из PHP в Excel: работа с COM-объектами  ::. Формат ячеек: Шрифт

[править] Общие возможности

В 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;$i<=$max_color_index;$i++) {
  
$range $xls->Range("A".($i+$start_position));
  
$range->Value "ColorIndex = ".$i;
  
$range->Font->ColorIndex $i;
};
?>
Личные инструменты
1.20063781738