2016-11-30 4 views
1

Ich versuche Zelle in meinem xls Ausgabeblatt zu formatieren, aber wenn ichPHPExcel Zellenformat Formatierungsfehler

$xls->getActiveSheet()->getStyle('A1')->getFont()->getColor()->setRGB(PHPExcel_Style_Color::COLOR_WHITE); 

oder eine andere Methode mit getStyle() zu verwenden, versuche ich bin diesen Fehler:

(!) Fatal error: Call to a member function getNumberFormat() on a non-object in "..."/Worksheet.php in line 755

Andere Methoden wie setTitle() oder getColumnDimension() funktionieren gut. Ich benutze Excel5 Writer, aber wenn ich Excel2007 versuchte, bekam ich den gleichen Fehler. Wer weiß, was das Problem sein könnte? Danke im Voraus.

EDIT:

Whole Code: http://paste.ofcode.org/SWNcyunnCkenpGhUtrujdL

Wenn ich die Spaltenbreite Schleife auf Kommentar ich nicht den Fehler, aber der Stil Anwendung funktioniert immer noch nicht. Die Spaltenbreitenschleife funktioniert perfekt ohne Stil, der Code anwendet.

+0

Sind Sie sicher, dass der Stil Ihnen den Fehler gibt? Die Warnung bezieht sich auf getNumberFormat(). Versuchen Sie, diese Codezeile zu kommentieren, erhalten Sie wieder den gleichen Fehler? –

+0

Ja, ich bin mir sicher, es funktioniert gut, wenn die Zeile auskommentiert ist. –

Antwort

0

Sie können diese Methode verwenden, um Ihrem PHPExcel Stil hinzuzufügen.

Erstellen Sie zunächst ein Array mit den Stilen. So etwas wie dies

$color = array(
     'fill' => array(
      'type' => PHPExcel_Style_Fill::FILL_SOLID, 
      'color' => array('rgb' => 'A5A5A5') 
     ), 
     'borders' => array(
      'allborders' => array(
       'style' => PHPExcel_Style_Border::BORDER_THIN 
      ) 
     ), 
     'alignment' => array(
      'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 
     ) 
    ); 

Nach dem Array erstellen müssen Sie die Stile zu Ihrem Objekt anwenden. So etwas wie das.

$xls->getActiveSheet()->getStyle('A1:A10')->applyFromArray($color); 
+0

Ich probierte alle (ich denke auch alle, arraystyle) Style-Methoden, in jedem Fall verursacht 'getStyle() 'den gleichen Fehler. –

+0

http://paste.ofcode.org/SWNcyunnCkenpGhUtrujdL –

+0

$ objReader ist kein Objekt. Von wo haben Sie diesen Code verwiesen? –