是否可以在此工作表的中间添加新行?
...没有影响或覆盖文档底部的信息?
我知道可以手动创建底部信息,但我必须每月上传这个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' );
}
答案 0 :(得分:2)
有一个名为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'
);
应将所有样式元素(包括边框和背景)从 单 单元格复制到单元格区域;但它不会将不同风格从一系列细胞复制到新的细胞范围。