我正在生成带有phpexcel的Excel工作表,当使用条件格式为条件格式(搜索文本或部分文本)时,在尝试打开生成的工作表时出现验证错误。与数字完美配合,不那么有用。
这是我的代码:
//conditional formatting
$objConditional1 = new PHPExcel_Style_Conditional();
$objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT)
->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT)
->addCondition('X');
$objConditional1->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_YELLOW);
$objConditional3 = new PHPExcel_Style_Conditional();
$objConditional3->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS)
->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_GREATERTHANOREQUAL)
->addCondition('0');
$objConditional3->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_GREEN);
$conditionalStyles = $objPHPExcel->getActiveSheet()->getStyle('B2')->getConditionalStyles();
array_push($conditionalStyles, $objConditional3);
array_push($conditionalStyles, $objConditional1);
$objPHPExcel->getActiveSheet()->getStyle('B2')->setConditionalStyles($conditionalStyles);
有人知道如何解决这个问题吗?我做错了什么? 感谢。
答案 0 :(得分:2)
据我所知,虽然我没有专门针对您的案例进行测试,但是当您尝试应用基于CONTAINSTEXT的条件格式时, 你不应该打电话
'->addCondition('X')'
(代码中的第5行),而是调用方法:
->setText('X')
在PHPExcel_Style_Conditional对象上。这是我在PHPExcel表中指定要比较的文本的方式。