/ / PHPExcel Додавання нових рядків без перевизначення наявної інформації - додавання, phpexcel, рядки

PHPExcel Додати нові рядки без перевизначення існуючої інформації - додати, phpexcel, рядки

Чи можна додати нові рядки в середині цього аркуша?

введіть опис зображення тут

... без впливу або перезапису інформації внизу документа?

Я знаю, що можливо створити нижню інформацію вручну, але я повинен завантажувати цей Excel кожного місяця (з іншим заголовком) і встановлювати початковий рядок.

Я спробував скопіювати останні рядки, але duplicateStyle не копіює межі та фони

# library
$this->load->library("excel");
$path = "./assets/files/uploads/form.xls";

$excel  = PHPExcel_IOFactory::load( $path );
$excel->setActiveSheetIndex(1);
$row    = 10;
$total  = 25;

if( $total >= 20 )
{
$cellValues = $excel->getActiveSheet()->rangeToArray( "A30:L32" );
$excel->getActiveSheet()->fromArray( $cellValues, null, "A33" );
$excel->getActiveSheet()->duplicateStyle( $excel->getActiveSheet()->getStyle( "A30:L30"), "A32:L32" );
}

Відповіді:

1 для відповіді № 1

Існує метод Workheet, який називається insertNewRowBefore() (і відповідний метод для стовпців з назвою insertNewColumnBefore()), які роблять це.

$excel->getActiveSheet()->insertNewRowBefore(10, 5);

вставить 5 нових рядків в активний аркуш,перед рядком 10 ... ефективно, він висуває рядок 10 вниз до рядка 15, рядок 11 вниз до рядка 16, рядок 12 вниз до рядка 17 тощо; відповідно налаштовуючи формули та інші посилання на комірки.

Так само

$excel->getActiveSheet()->insertNewColumnBefore("B");

вставить єдиний новий стовпець (за замовчуванням для обох insertNewRowBefore() і insertNewColumnBefore() це один рядок або один стовпець) перед стовпцем B.

В приклад папка, 05featuredemo.php і 30template.php продемонструвати використання цих методів


І

$excel->getActiveSheet()->duplicateStyle(
$excel->getActiveSheet()->getStyle("A30"),
"A31:A100"
);

слід скопіювати всі елементи стилю (включаючи межі та фон) з файлу сингл клітина до діапазону клітин; але він не зможе скопіювати різні стилі з діапазону комірок в новий діапазон комірок.