2016-11-30 9 views
1

내가PHPExcel 셀 스타일 서식 오류

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

또는 내가이 오류를 받고 있어요 getStyle()와 다른 방법을 사용하려고하고있을 때 내 XLS 출력 시트에서 셀을 포맷하려고하지만 해요 :

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

기타 setTitle() 또는 getColumnDimension()과 같은 방법이 정상적으로 작동합니다. 나는 Excel5 작가를 사용하고 있지만 Excel2007을 시도했을 때 같은 오류가 발생했습니다. 문제가 무엇인지 아는 사람이 있습니까? 미리 감사드립니다.

편집 :

전체 코드 : http://paste.ofcode.org/SWNcyunnCkenpGhUtrujdL

나는이 오류가 발생하지 않는 열 너비 루프를 주석으로,하지만 여전히 적용 스타일이 작동하지 않는 경우. 열 너비 루프는 스타일 적용 코드없이 완벽하게 작동합니다.

+0

스타일을 잘못 입력 했습니까? 경고는 getNumberFormat()에 대한 것입니다. 이 코드 줄을 주석으로 처리하십시오. 다시 같은 오류가 발생합니까? –

+0

네, 확신합니다. 라인이 주석 처리 된 것은 훌륭합니다. –

답변

0

이 방법을 사용하여 PHPExcel에 스타일을 추가 할 수 있습니다.

먼저 스타일이있는 배열을 만듭니다. 이

$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, 
     ) 
    ); 

같은 뭔가 배열을 생성 한 후에 당신은 당신의 객체에 스타일을 적용해야합니다. 이런 식으로.

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

나는 모두 (모든 생각, arraystyle도) 스타일을 적용하는 스타일을 시도했다. 모든 경우에'getStyle()'이 같은 오류를 일으킨다. –

+0

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

+0

$ objReader는 개체가 아닙니다. 이 코드를 어디에서 참조 했습니까? –