2015-07-03 15 views
5

Jak ustawić kolor obramowania komórki? Użyłem tego kodu, ale to nie działa:PHPExcel ustaw kolor obramowania komórki

$objPHPExcel->getActiveSheet() 
       ->getStyle('A1') 
       ->getBorders() 
       ->getAllBorders() 
       ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN) 
       ->getColor() 
       ->setRGB('DDDDDD'); 

wiem applyFromArray() działa dobrze. Ale nie chcę tego używać.

+0

Czy jesteś pewien, że to nie działa? To działa dla mnie. Spróbuj z bardziej wyrazistym kolorem, takim jak "FC2323" ... – ejuhjav

Odpowiedz

2

Kolory można stosować do obramowania komórek podczas tworzenia obramowania.

Zdefiniuj styl:

$border_style= array('borders' => array('right' => array('style' => 
PHPExcel_Style_Border::BORDER_THICK,'color' => array('argb' => '766f6e'),))); 

Zastosuj styl:

$sheet = $objPHPExcel->getActiveSheet(); 
$sheet->getStyle("A2:A40")->applyFromArray($border_style); 

Patrz dokumentacja PhpExcel here

+0

Dziękuję za odpowiedź. Jeśli widzisz dokumentację, mój kod również powinien zadziałać, ale tak nie było. Masz jakiś pomysł? –

+0

Twój kod działa również dobrze. Jak powiedział @ejuhjav, próbowałeś z innymi kodami kolorów. Ponieważ "DDDDDD" jest trudne do rozróżnienia w Xls – ManiMuthuPandi

+1

Próbowałem również ustawić granice i na podstawie doc dojechałem do prawie tego samego kodu co pytanie, ale próbowałem z kolorem "FF0000" i to nie działa dla mnie ale działa metoda applyFromArray(). To musi być błąd w PHPExcel. – soger

19

Trochę późno, ale dla przypomnienia, stwierdziliśmy, że ta składnia działało w porządku;

$ActiveSheet->getStyle("A1:Z1")->applyFromArray(
    array(
     'borders' => array(
      'allborders' => array(
       'style' => PHPExcel_Style_Border::BORDER_THIN, 
       'color' => array('rgb' => 'DDDDDD') 
      ) 
     ) 
    ) 
); 

Ja również znaleźć kompletną listę stylów i atrybutów tutaj: http://www.bainweb.com/2012/01/phpexcel-style-reference-complete-list.html

Powiązane problemy