2017-02-21 137 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

有一個叫insertNewRowBefore()工作表的方法(和名爲insertNewColumnBefore()列相應的方法) 。

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

將插入5點新的行到活動工作表,行10之前...有效時,它推動排10向下到行15,行11向下到行16,行12向下到行17,等;相應地調整公式和其他單元格引用。

同樣

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

將插入一個單一的新列B塔之前(默認爲既insertNewRowBefore()insertNewColumnBefore()是單行或單列)。

examples folder05featuredemo.php30template.php演示瞭如何使用這些方法


而且

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

應該複製從所有風格元素(包括邊框和背景)細胞到細胞的範圍;但它不會將一系列單元格中的不同樣式複製到新的單元格區域。

相關問題