Te recomendamos que pruebes esta respuesta en un entorno controlado antes de enviarlo a producción, saludos.
Solución:
No es necesario incluir el símbolo ‘#’ cuando se especifica el ARGB en phpspreadsheet. Este es capaz de establecer el fondo de la celda en blanco.
celda por celda
$spreadsheet->getActiveSheet()->getStyle($cells)->getFill()->setFillType(PhpOfficePhpSpreadsheetStyleFill::FILL_SOLID)->getStartColor()->setARGB('ffffff');
rango de celdas
$spreadsheet->getActiveSheet()->getStyle('A1:A5')->getFill()->setFillType(PhpOfficePhpSpreadsheetStyleFill::FILL_SOLID)->getStartColor()->setARGB('ffffff');
Al usar un estilo array para establecer algunos estilos a la vez:
styleArray = array(
'borders' => array(
'outline' => array(
'borderStyle' => Border::BORDER_THICK,
'color' => array('argb' => '00000000'),
),
),
'fill' => array(
'fillType' => Fill::FILL_SOLID,
'startColor' => array('argb' => 'FF4F81BD')
)
);
$spreadsheet->getActiveSheet()->applyFromArray($styleArray);
En algunos ejemplos, encontramos ‘fill’ en lugar de ‘fillType’. Quizás depende de la versión de phpSpreadsheet. Otra variante es ‘color’ en lugar de ‘startColor’.
Aquí tienes las comentarios y puntuaciones
Si entiendes que te ha sido de provecho nuestro post, sería de mucha ayuda si lo compartes con otros entusiastas de la programación así nos ayudas a difundir este contenido.