每个事件都有自己的背景颜色存储在数据库中。
问题如何更改该行的每个单元格的背景,确保其背景颜色正确。
我看了How to set color for cell phpexcel into foreach loop,但不明白。
打印出来
A0
B0
C0
D0
A1 222222
B1 222222
C1 222222
D1 222222
A2
B2
C2
D2
功能
$excelrow = 2;
foreach ($excelresults as $excelresult => $excelvalue) {
foreach (range('A', $objPHPExcel->getActiveSheet()->getHighestDataColumn()) as $col) {
echo $col . $excelresult .' '. $excelvalue['fill_color'] . '<br>';
$cell = $col . $excelresult;
$objPHPExcel
->getActiveSheet()
->getStyle($cell)
->getFill()
->getStartColor()
->getRGB($excelvalue['fill_color']);
}
$objPHPExcel->getActiveSheet()->SetCellValue("A" . $excelrow, $excelvalue['event']);
$objPHPExcel->getActiveSheet()->SetCellValue("B" . $excelrow, $excelvalue['event_title']);
$objPHPExcel->getActiveSheet()->SetCellValue("C" . $excelrow, $excelvalue['event_date']);
$objPHPExcel->getActiveSheet()->SetCellValue("D" . $excelrow, $excelvalue['event_start_time']);
$excelrow++;
}
答案 0 :(得分:1)
您想要设置单元格的背景颜色(填充),因此您还必须设置填充样式
if (!empty($color)) {
// Set the fill style
objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)
->getFill()
->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
// Set the colour for the fill
$objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)
->getFill()
->getStartColor()->setRGB($color);
}
中对此进行了描述