Из PHP в OpenOffice.Calc: работа с COM-объектами : Формат ячеек: Выравнивание

смотрим также

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

Перейти к: навигация, поиск


В Openoffice.Calc можно устанавливать выравнивание по горизонтали и вертикали, задавать угол поворота текста, устанавливать перенос слов в ячейке.

Содержание

Выравнивание по горизонтали

За выравнивание по горизонтали отвечает свойство HoriJustify. Значения этого свойства являются перечислением com.sun.star.table.CellHoriJustify. Например: com.sun.star.table.CellHoriJustify.RIGTH. Однако работать с перечислением не очень удобно, поэтому можно перечисление заменить числовым эквивалентом.

HoriJustify=0
- выравнивание по умолчанию;
HoriJustify=1
- выравнивание по левому краю;
HoriJustify=2
- выравнивание по центру;
HoriJustify=3
- выравнивание по правому краю;
HoriJustify=4
- выравнивание по ширине;
HoriJustify=5
- выравнивание с заполнением;

Выбрать конкретную ячейку можно при помощи метода getCellByPosition(). В приведенном примере значение в ячейке 1:2 будет выровнено по центру:

<?php
$varArr = array();
$oo = new COM("com.sun.star.ServiceManager");  // Создаем новый COM-объект сервис манеджер
$desk = $oo->CreateInstance("com.sun.star.frame.Desktop");  // Создаем новый  фрэйм для загрузки документа
$oodoc = $desk->LoadComponentFromURL('private:factory/scalc','_blank',0,$varArr); // запуск приложения

$Sheets = $oodoc->getSheets();         //получаем ссылку на листы
$Sheet=$Sheets->getByName("Лист1");    //получаем ссылку на лист
$Cell=$Sheet->getCellByPosition(1,2);  //получаем ссылку на ячейку
$Cell->HoriJustify=2;                  //выравниваем по центру по горизонтали
$Cell->SetString("100");               //заносим данные в ячейку

Свойства связанные с форматирование ячеек применять к каждой ячейке довольно утомительно. Можно указать сразу диапазон ячеек при помощи метода getCellRangeByName().

<?php
$varArr = array();
$oo = new COM("com.sun.star.ServiceManager");  // Создаем новый COM-объект сервис манеджер
$desk = $oo->CreateInstance("com.sun.star.frame.Desktop");  // Создаем новый  фрэйм для загрузки документа
$oodoc = $desk->LoadComponentFromURL('private:factory/scalc','_blank',0,$varArr); // запуск приложения

$Sheets = $oodoc->getSheets();                     //получаем ссылку на листы
$Sheet=$Sheets->getByName("Лист1");                //получаем ссылку на лист
$CellRange=$Sheet->getCellRangeByName("A2:C10");   //получаем ссылку на диапазон ячеек
$CellRange->HoriJustify=2;                         //выравниваем по центру по горизонтали

Выравнивание по вертикали

За выравнивание по вертикали отвечает свойство VertJustify. Значения этого свойства являются перечислением com.sun.star.table.CellVertJustify. Например: com.sun.star.table.CellVertJustify.Top. Однако работать с перечислением не очень удобно, поэтому можно перечисление заменить числовым эквивалентом.

VertJustify=0
- выравнивание по умолчанию
VertJustify=1
- выравнивание по верхнему краю
VertJustify=2
- выравнивание по центру
VertJustify=3
- выравнивание по нижнему краю
$Cell->VertJustify=2;                  //выравниваем по центру по вертикали

Угол поворота текста

За поворот текста в ячейке отвечает свойство RotateAngle. Единица измерения сотые доли градуса. Чтобы повернуть текст на 15 градусов необходимо указать значение 1500.

$Cell->RotateAngle=6000;   //поворот текста на 60 градусов

Перенос слов

Перенос текста в ячейке регулирует свойство isTextWrapped. Значения может быть два TRUE - переносить и FALSE - не переносить текст в ячейке.

$Cell->isTextWrapped=TRUE;    //разрешаем перенос текста

Ориентация текста

Помимо свойства RotateAngle за поворот текста (или направление) текста отвечает свойство Orientation. Значения этого свойства являются перечислением com.sun.star.table.CellOrientation. Например: com.sun.star.table.CellOrientation.Stacked. Однако работать с перечислением не очень удобно, поэтому можно перечисление заменить числовым эквивалентом.

Orientation=0
-ориентация по умолчанию
Orientation=1
-ориентация соответствует повороту текста на 270 градусов.
Orientation=2
-ориентация соответствует повороту текста на 90 градусов
Orientation=3
-ориентация текста с накоплением по вертикали
$Cell->Orientation=3;        //делаем положение текста вертикальным с накоплением
Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="https://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования