PHPExcel条件格式化一行

时间:2014-05-16 16:11:22

标签: php phpexcel

由于某种原因,我的条件格式由一行关闭,我无法弄清楚原因。

以下是代码:

$conditional = new PHPExcel_Style_Conditional();                                                                                
$conditional->setConditionType(PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT);                                             
$conditional->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT);                                               
$conditional->setText('~?');                                                                          
$conditional->getStyle()->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'endcolor' => array('rgb' => '7FA0D1')));  

...

$conditionalStyles = $objPHPExcel->getActiveSheet()->getStyle('A:J')->getConditionalStyles();
array_push($conditionalStyles, $conditional);
$objPHPExcel->getActiveSheet()->getStyle('A:J')->setConditionalStyles($conditionalStyles);

在这个生成的电子表格中,我有

?
A

由于某种原因,它格式化A而不是?它上面。如果我进入Excel的条件格式设置"管理规则",请选择此规则"编辑规则",点击"确定"没有改变任何东西,然后点击"确定"在主窗口中,它自行修复。所以我不确定为什么它会在第一次加载时关闭?

1 个答案:

答案 0 :(得分:1)

PHPExcel不支持行和列样式,因此getStyle调用中的'A:J'范围无效。仅支持单元格样式,因此您需要指定一系列单元格

e.g

$conditionalStyles = $objPHPExcel
    ->getActiveSheet()
    ->getStyle('A1024:J1024')
    ->getConditionalStyles();
相关问题