Советы по PHP : Из PHP в Excel: работа с COM-объектами : Формат ячеек: Выравнивание
Материал из Справочник Web-языков
Работа для спецов по SugarCRM | |||||||
Если:
то мы предлагаем Вам сотрудничество. Наша компания (ООО "Лемарс") занимается внедрением CRM-систем на базе SugarCRM. Мы сами команда программистов, которые были студентами, фрилансерами, наемными работниками. И вот теперь выросли в компанию. Мы отлично знаем SugarCRM, потому поможем ее освоить. Мы отлично знаем работу программиста, потому в наших с Вами отношениях постараемся уйти от типовых ошибок и выстроить действительно длительные и взаимовыгодные отношения. Если предложение интересно, то пишите о себе в произвольной форме, или звоните (спросить Евгения):
| |||||||
Разработка и внедрение CRM-систем | |||||||
|
В Excel при помощи PHP можно делать выравнивание данных, находящихся в ячейках как по вертикали, так и по горизонтали.
Содержание |
Общие возможности
Доступны следующие действия:
Выравнивание по горизонтали
За выравнивание по горизонтали отвечает свойство HorizontalAlignment().
Выровнять значение можно как в одной ячейке, так и в диапазоне ячеек. Для этого надо выделить ячейку (или диапазон ячеек), и присвоить свойству HorizontalAlignment() одно из 8 предопределенных значений:
- HorizontalAlignment = 1
- - выравнивание по значению (используется по умолчанию);
- HorizontalAlignment = 2
- - выравнивание по левому краю;
- HorizontalAlignment = 3
- - выравнивание по центру;
- HorizontalAlignment = 4
- - выравнивание по правому краю;
- HorizontalAlignment = 5
- - выравнивание с заполнением;
- HorizontalAlignment = 6
- - выравнивание по ширине;
- HorizontalAlignment = 7
- - выравнивание по центру выделения;
- HorizontalAlignment = 8
- - распределение по горизонтали.
В приведенном ниже примере в верхней строчке таблицы "1:1" все значения будут выравниваться по центру.
<?php $xls = new COM("Excel.Application"); // Создаем новый COM-объект $xls->Application->Visible = 1; // Заставляем его отобразиться $xls->Workbooks->Add(); // Добавляем новый документ // Выравниваем по центру $rangeAlignment = $xls->Range("1:1"); $rangeAlignmeny->HorizontalAlignment = 3; $rangeAlignment->Value = "Hello"; ?>
Выравнивание по вертикали
За выравнивание по вертикали отвечает свойство VerticalAlignment().
Так же как и по горизонтали, выровнять значение можно как в одной ячейке, так и в диапазоне ячеек. Для этого надо выделить ячейку (или диапазон ячеек), и присвоить свойству VerticalAlignment() одно из 5 предопределенных значений:
- VerticalAlignment = 1
- - выравнивание по верхнему краю;
- VerticalAlignment = 2
- - выравнивание по центру;
- VerticalAlignment = 3
- - выравнивание по нижнему краю (значение по умолчанию);
- VerticalAlignment = 4
- - выравнивание по высоте;
- VerticalAlignment = 5
- - распределение по вертикали.
В приведенном ниже примере в верхней строчке таблицы "1:1" все значения будут выравниваться по верхнему краю.
<?php $xls = new COM("Excel.Application"); // Создаем новый COM-объект $xls->Application->Visible = 1; // Заставляем его отобразиться $xls->Workbooks->Add(); // Добавляем новый документ // Выравниваем по центру $rangeAlignment = $xls->Range("1:1"); // Задаем выравнивание для ячеек: по верхнему краю $rangeAlignment->VerticalAlignment = 1; // Устанавливаем размер шрифта: 8 $rangeAlignment->Font->Size = 8; // Устанавливаем высоту строки: 25 $rangeAlignment->RowHeight = 25; // Выводим надпись: Hello $rangeAlignment->Value = "Hello"; ?>
Задание отступа
Отступ в ячейке задается при помощи свойства IndentLevel().
Этому свойству приравнивают значение, равное количеству знаков, на которые нужно сместить данные влево.
В следующем примере мы в ячейку A1 запишем текст с отступом в 5 знаков, а в ячейку A2 - без отступа:
<?php $xls = new COM("Excel.Application"); // Создаем новый COM-объект $xls->Application->Visible = 1; // Заставляем его отобразиться $xls->Workbooks->Add(); // Добавляем новый документ // Задание отступа $rangeAlignment = $xls->Range("A1"); $rangeAlignment->IndentLevel = 5; $rangeAlignment->Value = "Отступ равен 5 символам"; // Без отступа $rangeAlignment = $xls->Range("A2"); $rangeAlignment->Value = "Без отступа"; ?>