我使用以下方法在phpexcel中设置单元格值setCellValueByColumnAndRow()
$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')
请建议使用列号和行号设置背景颜色的替代方法。
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
)
));
不能在 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