Советы по PHP : Из PHP в Excel: работа с COM-объектами : Добавление / Удаление / Переименование листов

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

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

Версия от 15:35, 26 апреля 2011; Evgen (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск


Общие возможности

В Excel при помощи PHP можно произвести следующие действия с листами:

  • выбрать лист;
  • добавить новый лист;
  • переместить лист;
  • удалить лист;
  • переименовать лист;

Работа с листами

Доступ к листам в Excel осуществляется через объект Sheets.

Метод Select() позволяет сделать активным тот или иной лист документа:

$rangeSheet=$xls->Sheets("Лист2");
$rangeSheet->Select();

где "Лист2" - имя листа, который должен стать активным.

Добавить новый лист можно при помощи метода Add():

$rangeSheet=$xls->Sheets;
$rangeSheet->Add();

Если это первое добавление нового листа, то ему присваивается имя "Лист4". Обычно лист добавляется перед активным листом. Т.е. если до вызова метода Add() метод выбора листа Select() не вызывался, то новый лист добавляется в начало списка листов.

Имя листа содержится в свойстве Name() объекта Sheets().

В следующем примере создадим новый документ и переименуем листы "Лист1", "Лист2" и "Лист3" (которые создаются автоматически) в "Прайсы", "Контактная информация", "Заказ" соответственно:

<?php
$xls = new COM("Excel.Application"); // Создаем новый COM-объект
$xls->Application->Visible = 1;      // Заставляем его отобразиться
$xls->Workbooks->Add();              // Добавляем новый документ

$rangeSheet=$xls->Sheets("Лист1");
$rangeSheet->Name = "Прайсы";
$rangeSheet=$xls->Sheets("Лист2");
$rangeSheet->Name = "Контактная информация";
$rangeSheet=$xls->Sheets("Лист3");
$rangeSheet->Name = "Заказ";
?>


Скопировать лист можно при помощи метода Copy():

$curent_sheet = $xls->Workbooks[1]->Worksheets->Item("Лист");  // находим лист по имени "Лист"
$new_sheet = $curent_sheet->Copy($curent_sheet);               // создаем копию вышеуказанного листа
$xls->ActiveSheet->Name = "Копия Листа";                       // получаем новый лист как активный и его переименовываем
Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="https://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
222222222 Rambler\'s Top100 Индекс цитирования