PHPExcel:着色细胞?

时间:2011-08-23 17:03:36

标签: phpexcel

我正在使用PHPExcel在我的服务器上生成一些工作表。或多或少它一切正常,但是,当我尝试着色一些行(每隔一行,所以列表很容易阅读)我得到有趣的事情:行是彩色好的,但只在未填充的单元格上数据。填充数据的单元格保持白色。

这是我使用的代码

            $ind = ($ind + 1) % 2;

            if($ind == 1)
            {
                $style_header = array(                  
                'fill' => array(
                    'type' => PHPExcel_Style_Fill::FILL_SOLID,
                    'color' => array('rgb'=>'CCC'),
                ),
                'font' => array(
                    'bold' => true,
                )
                );
                $sheet->getStyle($row)->applyFromArray( $style_header );

            }

            $sheet->getCellByColumnAndRow(0, $row)->setValue($item['qty']);
            $sheet->getCellByColumnAndRow(1, $row)->setValueExplicit($item['name']);
            $sheet->getCellByColumnAndRow(2, $row)->setValueExplicit($item['size']);
            $sheet->getCellByColumnAndRow(3, $row)->setValueExplicit($item['color']);

我做错了什么?

2 个答案:

答案 0 :(得分:3)

我没有看到任何突然出现的错误。粗体字体是应用于带有文本的单元格还是整个样式被忽略?如果粗体确实设置了,请尝试在数组中翻转'fill'和'font'的顺序。不过,我认为不应该有所作为。

您也可以尝试$sheet->getStyle('A$row:D$row')->...,只是为了显式设置您正在使用的单元格范围的样式而不是整行。

答案 1 :(得分:1)