Я использую PhpExcel, а не PhpSpreadsheet, потому что в последней у меня так и не получилось устанавливать изображения.
Мне нужно установить границы ячеек. Перепробовал разные варианты. Вот тут красный цвет текста устанавливается, а границы - нет:
$objReader = new PHPExcel_Reader_Excel2007();
$objPHPExcel = $objReader->load('..\..\control-files\templates\storeconfirm.xlsx');
$objPHPExcel->setActiveSheetIndex(0);
$sheet = $objPHPExcel->getActiveSheet();
$styleArray = array(
'font' => array(
'bold' => true,
'color' => array('rgb' => 'FF0000'),
),
'borders' => array(
'bottom' => array(
'borderStyle' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb' => '000000')
),
'top' => array(
'borderStyle' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb' => '000000')
)
)
);
$sheet->getStyle('A'.$coord)->applyFromArray($styleArray);
Вариант напрямую из документации, тоже не работает:
$objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);
$objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK);
При этом никаких ошибок не выдаётся.