2015-01-16 15 views
9

Ich arbeite derzeit mit PHPExcel und ich versuche, eine bestimmte Zeile eine Farbe zu geben, ich habe Set Background cell color in PHPExcel bereits gelesen und ich habe alle diese Optionen versuchen. Ohne Glück!PHPExcel Farbe zu bestimmten Zeile

Vielleicht mache ich etwas falsch, aber hier geht es:

  //Table 
    $objPHPExcel->setActiveSheetIndex(0) 
       ->setCellValue('B2', 'Beller ') 
       ->setCellValue('D2', 'Beller nummer') 
       ->setCellValue('F2', 'Datum') 
       ->setCellValue('H2', 'ontvanger naam') 
       ->setCellValue('J2', 'ontvanger nummer') 
       ->setCellValue('L2', 'Billing seconds') 
       ->setCellValue('N2', 'Direction') 
    // array 

       ->setCellValue('B3', 'hi') 
       ->setCellValue('D3', 'hi') 
       ->setCellValue('F3', 'hi') 
       ->setCellValue('H3', 'hi') 
       ->setCellValue('J3', 'ontvanger nummer') 
       ->setCellValue('L3', 'Billing seconds') 
       ->setCellValue('N3', 'Direction');   

       //Werkt niet   } 


    // breedte + kopstukken dikgedrukt 
    $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('D2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('F2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('H2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('J2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('L2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getStyle('N2')->getFont()->setBold(true); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(15); 
    $objPHPExcel->getActiveSheet()->getStyle('N2')->applyFromArray(
     array(
      'fill' => array(
       'type' => PHPExcel_Style_Fill::FILL_SOLID, 
       'color' => array('rgb' => 'E05CC2') 
      ) 
     ) 

); 

es gibt mir N2 gefärbt, aber ich möchte alle Zeilen in N mit Text gefüllt, gefärbt sein;)

+0

Haben Sie versucht mit 'applyFromArray' Methode? – Brewal

+0

Ich tat es jetzt nur, und es funktionierte aber nicht für alle Zeilen nur für N2, ich möchte eigentlich alle FILLEDs in N, um meinen Post –

+0

bearbeiten zu lassen, fügen Sie das vor Ihrer allerletzten Zeile hinzu: '$ objPHPExcel-> getActiveSheet() -> getStyle ('N2') -> getFill() -> setFillType (PHPExcel_Style_Fill :: FILL_SOLID); ' – briosheje

Antwort

30

Sie können nicht Stil eine Reihe in PHPExcel, nur eine Zelle oder einen Zellbereich

$objPHPExcel->getActiveSheet() 
    ->getStyle('A1:E1') 
    ->getFill() 
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID) 
    ->getStartColor() 
    ->setARGB('FF808080'); 

oder

$objPHPExcel->getActiveSheet() 
    ->getStyle('A1:E1') 
    ->applyFromArray(
     array(
      'fill' => array(
       'type' => PHPExcel_Style_Fill::FILL_SOLID, 
       'color' => array('rgb' => 'E05CC2') 
      ) 
     ) 
    ); 

Wird der Hintergrundfüllstil für die Zellen A1 bis E1 festgelegt

+0

Die Sache ist, seine Arbeit mit datepick Ergebnissen, wenn jemand ein Datum wählt, gibt es alle Anrufhistorie von diesem Datum, von einer Variable, die ich in einem Array verwende, die Sache ist, dass ich alle gefüllten Zellen in Zeile N färben muss –

+0

Alle __gefüllten__ Zellen? oder alle Zellen? –

+0

Alle Zellen aus N, die mit den Daten aus dem Array gefüllt sind. Stellen Sie sich vor, sie laden Anrufverlauf von gestern und es hat 12 Anrufe, ich möchte 12 Zellen in N, –

Verwandte Themen