PHPExcel 添加新行而不覆盖现有信息
PHPExcel Add new rows without override existing info
是否可以在此 sheet 中间添加新行?
...不影响或覆盖文档底部的信息?
我知道可以手动创建底部信息,但我必须每个月上传此 Excel(具有不同的 header)并设置起始行。
我试过复制最后一行,但 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' );
}
有一个名为 insertNewRowBefore()
的工作表方法(以及一个名为 insertNewColumnBefore()
的列的相应方法)可以执行此操作。
$excel->getActiveSheet()->insertNewRowBefore(10, 5);
将在第 10 行之前向活动工作表中插入 5 个新行...实际上,它将第 10 行向下推到第 15 行,将第 11 行向下推到第 16 行,将第 12 行向下推到第 17 行,等等;相应地调整公式和其他单元格引用。
同样
$excel->getActiveSheet()->insertNewColumnBefore('B');
将在第 B
.
列之前插入一个新列(insertNewRowBefore()
和 insertNewColumnBefore()
的默认值是单行或单列)
在examples folder、05featuredemo.php
和30template.php
中演示了这些方法的使用
和
$excel->getActiveSheet()->duplicateStyle(
$excel->getActiveSheet()->getStyle('A30'),
'A31:A100'
);
应该将所有样式元素(包括边框和背景)从 单个 单元格复制到单元格区域;但它不会将不同样式从一个单元格区域复制到一个新的单元格区域。
是否可以在此 sheet 中间添加新行?
...不影响或覆盖文档底部的信息?
我知道可以手动创建底部信息,但我必须每个月上传此 Excel(具有不同的 header)并设置起始行。
我试过复制最后一行,但 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' );
}
有一个名为 insertNewRowBefore()
的工作表方法(以及一个名为 insertNewColumnBefore()
的列的相应方法)可以执行此操作。
$excel->getActiveSheet()->insertNewRowBefore(10, 5);
将在第 10 行之前向活动工作表中插入 5 个新行...实际上,它将第 10 行向下推到第 15 行,将第 11 行向下推到第 16 行,将第 12 行向下推到第 17 行,等等;相应地调整公式和其他单元格引用。
同样
$excel->getActiveSheet()->insertNewColumnBefore('B');
将在第 B
.
insertNewRowBefore()
和 insertNewColumnBefore()
的默认值是单行或单列)
在examples folder、05featuredemo.php
和30template.php
中演示了这些方法的使用
和
$excel->getActiveSheet()->duplicateStyle(
$excel->getActiveSheet()->getStyle('A30'),
'A31:A100'
);
应该将所有样式元素(包括边框和背景)从 单个 单元格复制到单元格区域;但它不会将不同样式从一个单元格区域复制到一个新的单元格区域。