从phpExcel中的复制行重置样式

时间:2014-12-30 12:21:18

标签: php phpexcel

我想插入一个新行,但是目前它默认复制上一行的样式。所以,我需要重置这个新行的样式。我正在尝试此代码,但无法正常工作:

这是错误:

 Fatal error:  Call to undefined method PHPExcel_Worksheet::applyFromArray() in /var/www/xxxx/demo/xls.php

由于新行的数量是可变的,我无法指定固定范围来选择和添加样式。


function styleResetBackground(){
    $styleBackground = array(
    'fill' => array(
            'type' => PHPExcel_Style_Fill::FILL_SOLID,
            'color' => array('rgb' => 'FFFFFF')
    )); 

    return $styleBackground;
}

$objPHPExcel->getActiveSheet()->insertNewRowBefore($lastRow+1,1)->applyFromArray(styleResetBackground());

问题是:->applyFromArray(styleResetBackground(),因为没有此代码,错误消失,但我需要在插入后重置样式。

1 个答案:

答案 0 :(得分:1)

insertNewRowBefore()方法返回一个Worksheet对象。但是,applyFromArray()不是工作表方法,而是Style方法...您需要为刚刚添加的行中的单元格返回样式方法,然后调用applyFromArray()在那... ....像:

$objPHPExcel->getActiveSheet()
    ->insertNewRowBefore($lastRow+1,1)
    ->getStyle('A' . $lastRow . ':Z' . $lastRow)
    ->applyFromArray(styleResetBackground());