Приглашаем посетить
Успенский (uspenskiy.lit-info.ru)

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

Из 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;
    };
    ?>
    

  • Назад Содержание Вперед