使用列和行索引设置单元格背景

时间:2016-02-08 06:41:05

标签: php phpexcel

我使用以下方法setCellValueByColumnAndRow()

在phpexcel中设置单元格值
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col,$xlsRow,$plan);

现在我的要求是为此设置背景颜色。

我无法使用以下方法,因为我与行号和列号对齐。

 $objPHPExcel->getActiveSheet()->getStyle("A1")->getFill()
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
    ->getStartColor()->setRGB($color);

我正在寻找提供cols和行的方法,因为(2,3)不喜欢(' A1:E1')

请使用列号和行号建议另一种设置背景颜色的方法。

2 个答案:

答案 0 :(得分:4)

您无法在PHPExcel中设置一行样式,只能设置一个单元格或一系列单元格

$objPHPExcel->getActiveSheet()
    ->getStyle('A1:E1')
    ->getFill()
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
    ->getStartColor()
    ->setARGB('FF808080');

$objPHPExcel->getActiveSheet()
    ->getStyle('A1:E1')
    ->applyFromArray(
        array(
            'fill' => array(
                'type' => PHPExcel_Style_Fill::FILL_SOLID,
                'color' => array('rgb' => 'E05CC2')
            )
        )
    );

将设置单元格A1到E1的背景填充样式

答案 1 :(得分:2)

PHPExcel_Cell :: stringFromColumnIndex(0);工作得很好。

$column = PHPExcel_Cell::stringFromColumnIndex(45);
$row = 1;
$cell = $column.$row;

$ cell会给你AT1 $ range =' A1:'。$ cell; 因此,您可以轻松地进入填充范围,例如。

$objPHPExcel->getActiveSheet()->getStyle($range)->getFill()->applyFromArray(array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
             'rgb' => 'FFFF00' //Yellow
        )
    ));