Установите цвет фоновой ячейки в PHPExcel


Как задать определенный цвет активной ячейке при создании документа XLS в PHPExcel?

 75
Author: ariefbayu, 2011-07-21

7 answers

$sheet->getStyle('A1')->applyFromArray(
    array(
        'fill' => array(
            'type' => PHPExcel_Style_Fill::FILL_SOLID,
            'color' => array('rgb' => 'FF0000')
        )
    )
);

Источник: http://bayu.freelancer.web.id/2010/07/16/phpexcel-advanced-read-write-excel-made-simple/

 135
Author: user198003, 2012-11-16 12:35:26
function cellColor($cells,$color){
    global $objPHPExcel;

    $objPHPExcel->getActiveSheet()->getStyle($cells)->getFill()->applyFromArray(array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
             'rgb' => $color
        )
    ));
}

cellColor('B5', 'F28A8C');
cellColor('G5', 'F28A8C');
cellColor('A7:I7', 'F28A8C');
cellColor('A17:I17', 'F28A8C');
cellColor('A30:Z30', 'F28A8C');

enter image description here

 71
Author: Limitless isa, 2015-01-13 13:15:42

Этот код должен работать для вас:

 $PHPExcel->getActiveSheet()
        ->getStyle('A1')
        ->getFill()
        ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
        ->getStartColor()
        ->setRGB('FF0000')

Но если вы будете использовать это снова и снова, я рекомендую использовать applyFromArray.

 26
Author: Muntashir Akon, 2015-07-02 07:50:58

Похоже, что сейчас есть ошибка с applyFromArray, которая не принимает цвет, но это сработало для меня:

$objPHPExcel
    ->getActiveSheet()
    ->getStyle('A1')
    ->getFill()
    ->getStartColor()
    ->setRGB('FF0000');
 8
Author: jocull, 2013-04-24 18:47:31

Это всегда работает!

$sheet->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setRGB('FF0000');

 8
Author: Rogerio de Moraes, 2014-07-20 13:35:36
$objPHPExcel
->getActiveSheet()
->getStyle('A1')
->getFill()
->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
->getStartColor()
->setRGB('colorcode'); //i.e,colorcode=D3D3D3
 5
Author: Vatsal Patel, 2017-07-11 11:17:56
$objPHPExcel
    ->getActiveSheet()
    ->getStyle('A1')
    ->getFill()
    ->getStartColor()
    ->getRGB();
 1
Author: Abhishek Jaiswal, 2012-11-14 08:45:59