2011-07-21 110 views

Respuesta

1
$objPHPExcel 
    ->getActiveSheet() 
    ->getStyle('A1') 
    ->getFill() 
    ->getStartColor() 
    ->getRGB(); 
8

parece que hay un error con applyFromArray en este momento que no aceptará color, pero esto funcionó para mí:

$objPHPExcel 
    ->getActiveSheet() 
    ->getStyle('A1') 
    ->getFill() 
    ->getStartColor() 
    ->setRGB('FF0000'); 
+1

Aunque es una solución más elegante (como prefiero la forma OOP) no funcionó para mí:/ Usado @ user198003 proporcionó la solución – aur1mas

67
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

+6

Sus funciones está bien, pero está utilizando global, y eso es un error real ... Usted debería hacer uso de las características de PHP5. En cambio, puedes probar una función lambda como https://eval.in/39136 :) – Cito

+0

bien hecho, gracias, realmente funciona. –

8

¡Esto siempre está en marcha!

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

+2

En alguna versión de PHP no se puede romper la línea en la clase de atributo. Versión antigua. –

+2

** ¡IMPORTANTE! Than $ objPHPExcel like $ sheet es una definición de la clase de objeto PHPExcel. Necesita usar como instanciado (en la nueva definición PHPExcel()). ** –

26

Este código debe trabajar para usted:

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

Pero si molestas en el uso de esta una y otra vez, le recomiendo usar applyFromArray.

4
$objPHPExcel 
->getActiveSheet() 
->getStyle('A1') 
->getFill() 
->setFillType(PHPExcel_Style_Fill::FILL_SOLID) 
->getStartColor() 
->setRGB('colorcode'); //i.e,colorcode=D3D3D3 
Cuestiones relacionadas