Из PHP в Excel: работа с COM-объектами : Копирование / вставка ячеек
В Excel при помощи PHP можно копировать ячейки и вставлять ранее скопированные ячейки.
Общие возможности:
Копирование ячеек происходит в два этапа: сначало надо выделить копируемую область и копировать ее методом
Copy(), а затем нужно выделить область, в которую будут вставлены скопированные ячейки и вставить их
<?php
$xls = new COM("Excel.Application"); // Создаем новый COM-объект
$xls->Application->Visible = 1; // Заставляем его отобразиться
$xls->Workbooks->Add(); // Добавляем новый документ
// Задаем копируемую ячейку
$range=$xls->Range("A1");
$range->Value = "Cправочник Web-языков";
// Копируем ее
$range->Copy();
// Задаем область, в которую скопируется ячейка
$range=$xls->Range("A3:A9");
$range->Select();
$range=$xls->Selection();
// Вставляем
$xls->ActiveSheet->Paste();
?>
Здесь
ActiveSheet - ссылка на выделенные ячейки.
Если при копировании копируемые ячейки оставались на месте, то при перемещении копируемые ячейки удаляются.
Перемещение осуществляется методом
Cut().
<?php
$xls = new COM("Excel.Application"); // Создаем новый COM-объект
$xls->Application->Visible = 1; // Заставляем его отобразиться
$xls->Workbooks->Add(); // Добавляем новый документ
// Задаем копируемую ячейку
$range=$xls->Range("A1");
$range->Value = "Cправочник Web-языков";
// Копируем ее
$range->Cut();
// Задаем область, в которую скопируется ячейка
$range=$xls->Range("A3");
$range->Select();
$range=$xls->Selection();
// Вставляем
$xls->ActiveSheet->Paste();
?>