2017-02-21 25 views
0

Возможно ли добавить новые строки в середине этого листа?PHPExcel Добавить новые строки без переопределения существующей информации

enter image description here

... без аффекта или перезаписывать информацию в нижней части документа?

Я знаю, что возможно создать нижнюю информацию вручную, но я должен загрузить этот 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

Существует метод Worksheet называется insertNewRowBefore() (и соответствующий метод для столбцов, называемых insertNewColumnBefore()), которые делают это ,

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

будет вставлять 5 новых строк в активном листе до строки 10 ... эффективно, он толкает грести 10 вниз к строке 15, строка 11 вниз к строке 16, строка 12 до ряда 17, и т.д.; соответственно корректируя формулы и другие ссылки на ячейки.

Аналогично

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

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

В examples folder, 05featuredemo.php и 30template.php демонстрируют использование этих методов


И

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

должны скопировать все элементы стиля (включая границы и фона) из одного клетка до диапазона клеток; но он не будет копировать разные стили из диапазона ячеек в новый диапазон ячеек.

 Смежные вопросы

  • Нет связанных вопросов^_^