2017-09-29 3 views
0

Jedes Ereignis hat seine eigene Hintergrundfarbe in der Datenbank gespeichert.PHPExcel Ändern Hintergrundfarbe für jede Zelle in foreach Schleife

Frage Wie kann ich den Hintergrund jeder Zelle für diese Zeile ändern und sicherstellen, dass die Hintergrundfarbe korrekt ist?

Ich habe hier How to set color for cell phpexcel into foreach loop gesucht aber nicht verstanden.

Er druckt

A0 
B0 
C0 
D0 
A1 222222 
B1 222222 
C1 222222 
D1 222222 
A2 
B2 
C2 
D2 

Funktion aus

$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++; 
    } 

Antwort

1

Sie wollen die Hintergrundfarbe (fill) für die Zelle setzen, so dass Sie auch

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); 
} 
eine Füllung Stil einstellen

Es gibt eine Demonstration davon in der /Examples folder und es wird in derbeschrieben

+0

Das funktioniert aber kann man auch die Schriftfarbe ändern/setzen auch – user4419336

+0

Ja kannst du .... da gibt es eine Menge [Dokumentation] (https://github.com/PHPOffice/PHPExcel/wiki/User-Documentation -Overview-and-Quickstart-Guide) und [examples] (https://github.com/PHPOffice/PHPExcel/tree/1.8/Examples) verfügbar für die Einstellung aller Elemente des Stils und fast alles, was Sie mit der Bibliothek tun können –