Установите фон ячейки с помощью индекса столбца и строки


Я устанавливаю значение ячейки в phpexcel, используя следующий метод setCellValueByColumnAndRow()

$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col,$xlsRow,$plan);

Теперь мое требование - установить цвет фона для этого.

Я не могу использовать этот метод ниже, так как я выровнен по номерам строк и столбцов.

 $objPHPExcel->getActiveSheet()->getStyle("A1")->getFill()
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
    ->getStartColor()->setRGB($color);

Я ищу способ предоставить столбцы и строки как (2,3), а не как ('A1:E1')

Пожалуйста, предложите альтернативный способ установки цвета фона с использованием номеров столбцов и строк.

Author: ManiMuthuPandi, 2016-02-08

2 answers

Вы не можете создать строку в PHPExcel, только ячейку или диапазон ячеек

$objPHPExcel->getActiveSheet()
    ->getStyle('A1:E1')
    ->getFill()
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
    ->getStartColor()
    ->setARGB('FF808080');

Или

$objPHPExcel->getActiveSheet()
    ->getStyle('A1:E1')
    ->applyFromArray(
        array(
            'fill' => array(
                'type' => PHPExcel_Style_Fill::FILL_SOLID,
                'color' => array('rgb' => 'E05CC2')
            )
        )
    );

Установит стиль заливки фона для ячеек от A1 до E1

 3
Author: Jimish Gamit, 2016-02-08 06:47:08

Phpexcel_cell::stringfromcolumnindex(0); работал отлично.

$column = PHPExcel_Cell::stringFromColumnIndex(45);
$row = 1;
$cell = $column.$row;

Ячейка $ даст вам значение 1 $диапазон = 'A1:'.$ячейка; Таким образом, вы можете легко перейти в диапазон заполнения, например.

$objPHPExcel->getActiveSheet()->getStyle($range)->getFill()->applyFromArray(array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
             'rgb' => 'FFFF00' //Yellow
        )
    ));
 1
Author: Zia, 2017-08-23 11:44:33