2016-11-30 3 views
1

Я пытаюсь форматировать ячейки в моем выходном листе XLS, но когда я пытаюсь использоватьPHPExcel ошибка форматирования стиля ячейки

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

или любой другой метод с getStyle() я получаю эту ошибку:

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

Другие getActiveSheet() методы, подобные setTitle() или getColumnDimension(), работают нормально. Я использую писатель Excel5, но когда я попробовал Excel2007, я получил ту же ошибку. Кто-нибудь знает, в чем проблема? Заранее спасибо.

EDIT:

Всего код: 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 не является объектом. Откуда вы ссылаетесь на этот код? –

Смежные вопросы