Советы по 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;
};
?>
Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="https://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования