Как можно при инициализации exel spreedsheet PHP закрасить ячейки которые не заполнились

<?php
include_once $_SERVER["DOCUMENT_ROOT"] . '/bitrix/modules/main/include/prolog_before.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

\Bitrix\Main\Loader::includeModule('iblock');


$itemList = $_SESSION['CATALOG_COMPARE_LIST'][2]['ITEMS'];
$itemIdList = [];





if (!empty($itemList)) {
    foreach ($itemList as $item) {
        $itemIdList[] = $item['ID'];
    }
}

$rsElements = CIBlockElement::GetList(Array("PROPERTY_PRICE" => "ASC"), ['ID' => $itemIdList], false, false,
    [

        'ID',
        'NAME',
        'IBLOCK',
        'PROPERTY_ADDRESS',
        'PROPERTY_PRICE',
        'PROPERTY_ROOMS',
        'PROPERTY_LIVINGSPACE',
        'PROPERTY_KITCHENSPACE',
        'PROPERTY_FLOOR',
        'PROPERTY_WALLSTYPE',
        'PROPERTY_PRICE_PER_METER',
        'PROPERTY_AREA',
        'PROPERTY_FLOORS',
        'PROPERTY_AGENT_ID',
        'PROPERTY_DISTRICT_LINK',
        'OBJECT_TYPE_LINK',

    ]
);
$arElements = [];
$table = [
    [
        'Адрес',
        'Район',
        'Комнат',
        'Цена',
        'Цена за м²',
        'S общая',
        'S жилая',
        'S кухни',
        'Этаж',
        'Агент',
        'Телефон агента',
//        'Площадь участка',

    ]
];
$issetAgent = [];
while ($arElement = $rsElements->Fetch()) {
    $row = [
        $arElement['NAME'],
        $arElement['PROPERTY_DISTRICT_LINK_VALUE'],
        $arElement['PROPERTY_ROOMS_VALUE'],
        $arElement['PROPERTY_PRICE_VALUE'],
        $arElement['PROPERTY_PRICE_PER_METER_VALUE'],
        $arElement['PROPERTY_AREA_VALUE'],
        $arElement['PROPERTY_LIVINGSPACE_VALUE'],
        $arElement['PROPERTY_KITCHENSPACE_VALUE'],
        $arElement['PROPERTY_FLOOR_VALUE'].'/'.$arElement['PROPERTY_FLOORS_VALUE'],
        $arElement['PROPERTY_AGENT_NAME'],
    ];

    $agentName="";
    $agentPhone="";

    if(Empty($arElement['PROPERTY_ROOMS_VALUE'])){
        $row[2]='Студия';
    }

    if(Empty($table['S жилая'])){

    }


    if (isset($arElement['PROPERTY_AGENT_ID_VALUE'])){
        if (!isset($issetAgent[$arElement['PROPERTY_AGENT_ID_VALUE']])){
            $agentInfo = getAgentById($arElement['PROPERTY_AGENT_ID_VALUE']);
            $issetAgent[$arElement['PROPERTY_AGENT_ID_VALUE']]=$agentInfo;
            $agentName=$agentInfo["NAME"];
            $agentPhone=$agentInfo["PHONE"];
        }
        else{
            $agentName=$issetAgent[$arElement['PROPERTY_AGENT_ID_VALUE']]["NAME"];
            $agentPhone=$issetAgent[$arElement['PROPERTY_AGENT_ID_VALUE']]["PHONE"];
        }
    }

    if (isset($arElement['PROPERTY_DISTRICT_LINK_VALUE'])){
        if (!isset($issetDIS[$arElement['PROPERTY_DISTRICT_LINK_VALUE']])){
            $disInfo = getAgentById($arElement['PROPERTY_DISTRICT_LINK_VALUE']);
            $issetDIS[$arElement['PROPERTY_DISTRICT_LINK_VALUE']]=$disInfo;
            $disName=$disInfo["NAME"];
            $disPhone=$disInfo["PHONE"];
        }
        else{
            $agentName=$issetDIS[$arElement['PROPERTY_AGENT_ID_VALUE']]["NAME"];
            $agentPhone=$issetDIS[$arElement['PROPERTY_AGENT_ID_VALUE']]["PHONE"];
        }
    }


    $row[1] =$disName;
    $row[10]=$agentPhone;
    $row[9]=$agentName;
//    $row[11]
//    $row[]=1; количество собственников
    $table[] = $row;
}


$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray($table);
$sheet->getColumnDimension('A')->setAutosize(true);
$sheet->getColumnDimension('B')->setAutoSize(true);
$sheet->getColumnDimension('J')->setAutoSize(true);
$sheet->getColumnDimension('K')->setAutoSize(true);
$sheet->getColumnDimension('L')->setAutoSize(true);
$sheet->getColumnDimension('C')->setAutoSize(true);
$sheet->getColumnDimension('G')->setAutoSize(true);
if(Empty($table['S жилая'])) {
    $sheet->removeColumn('G');
}


//if(Empty($arElement['NAME'])){
//    $sheet->getStyle($row[2])
//        ->getFill()
//        ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
//        ->getStartColor()
//        ->setARGB('FFF50000');
//}
if(empty($agentName)){
    $sheet->getStyle($agentName)
        ->getFill()
        ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
        ->getStartColor()
        ->setARGB('#808080');
    }


//$row = $sheet->getStyle('A'.$row_id.':'.$columnWord.$row_id);
//
//$row->getFill()->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)->getStartColor()->setRGB('dbe5f1');










$writer = new Xlsx($spreadsheet);
$writer->save('compare.xlsx');





header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename('compare.xlsx'));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize('compare.xlsx'));
ob_clean();
flush();
readfile('compare.xlsx');
unlink('compare.xlsx');
exit;

Ответы (0 шт):