Советы по PHP : Из PHP в Excel: работа с COM-объектами : Формат ячеек: Выравнивание
смотрим также
Материал из Справочник Web-языков
В 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 = "Без отступа"; ?>