2014-07-09 17 views
6

la seguente:PHPExcel formattazione condizionale quando la cella è uguale a stringa

$objConditional1 = new PHPExcel_Style_Conditional(); 
$objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT) 
       ->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT) 
       ->addCondition("Bla bla"); 
$objConditional1->getStyle()->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getEndColor()->setARGB(PHPExcel_Style_Color::COLOR_GREEN); 


$conditionalStyles = $sheet->getStyle('I2')->getConditionalStyles(); 
array_push($conditionalStyles, $objConditional1);    
$sheet->getStyle('I$2:I$10000')->setConditionalStyles($conditionalStyles); 

Genera un documento di Excel e dice che la formattazione condizionale ha problemi e che si elimina ...

Il risultato corretto i' sto cercando è quando colonna è uguale a "Bla bla" riempire la casella in verde

risposta

9

Il cambiamento è invece di addCondition, devi chiamare setText ... Che è difficile da dedurre, ma qualunque cosa ... figo ho capito lavorare.

$objConditional1 = new PHPExcel_Style_Conditional(); 
$objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT) 
       ->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT) 
       ->setText("Bla bla"); 
$objConditional1->getStyle()->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getEndColor()->setARGB(PHPExcel_Style_Color::COLOR_GREEN); 


$conditionalStyles = $sheet->getStyle('I2')->getConditionalStyles(); 
array_push($conditionalStyles, $objConditional1);    
$sheet->getStyle('I$2:I$10000')->setConditionalStyles($conditionalStyles); 
+0

Questo evidenzia anche altri pungoli di corrispondenza alternativi. Per esempio. 1/12 e 11/12 entrambi evidenziano – bkac

Problemi correlati