PHPExcel: раскрашивание ячеек?

Я использую PHPExcel для создания нескольких листов на моем сервере. Более-менее, все работает нормально, но, когда я пытаюсь раскрасить некоторые строки (каждую вторую строку, чтобы список был легко читаем), я получаю забавную вещь: строка окрашена нормально, но только в ячейках, которые не заполнены данные. Ячейки, заполненные данными, остаются белыми.

Вот код, который я использую

            $ind = ($ind + 1) % 2;

            if($ind == 1)
            {
                $style_header = array(                  
                'fill' => array(
                    'type' => PHPExcel_Style_Fill::FILL_SOLID,
                    'color' => array('rgb'=>'CCC'),
                ),
                'font' => array(
                    'bold' => true,
                )
                );
                $sheet->getStyle($row)->applyFromArray( $style_header );

            }

            $sheet->getCellByColumnAndRow(0, $row)->setValue($item['qty']);
            $sheet->getCellByColumnAndRow(1, $row)->setValueExplicit($item['name']);
            $sheet->getCellByColumnAndRow(2, $row)->setValueExplicit($item['size']);
            $sheet->getCellByColumnAndRow(3, $row)->setValueExplicit($item['color']);

Что я делаю неправильно?


person Relja    schedule 23.08.2011    source источник


Ответы (2)


Я не вижу ничего, что мне показалось бы неправильным. Применяется ли полужирный шрифт к ячейкам с текстом или игнорируется весь стиль? Если полужирный шрифт установлен, попробуйте поменять порядок «заливки» и «шрифта» в массиве. Я бы не подумал, что это должно иметь значение.

Вы также можете попробовать $sheet->getStyle('A$row:D$row')->..., просто чтобы явно установить стиль для диапазона ячеек, который вы используете, а не для всей строки.

person Matt McHugh    schedule 23.08.2011
comment
Привет, чувак, спасибо за совет, $ sheet- ›getStyle ('A $ row: D $ row') отлично поработал. Понятия не имею, почему иначе это не сработало бы, но это уже не имеет значения. - person Relja; 23.08.2011

здесь вы можете получить хорошие примеры http://bayu.freelancer.web.id/2010/07/16/phpexcel-advanced-read-write-excel-made-simple/

person Abhishek Jaiswal    schedule 05.04.2012