我正在使用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']);
我做错了什么?
答案 0 :(得分:3)
我没有看到任何突然出现的错误。粗体字体是应用于带有文本的单元格还是整个样式被忽略?如果粗体确实设置了,请尝试在数组中翻转'fill'和'font'的顺序。不过,我认为不应该有所作为。
您也可以尝试$sheet->getStyle('A$row:D$row')->...
,只是为了显式设置您正在使用的单元格范围的样式而不是整行。
答案 1 :(得分:1)