3

我正在使用 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);

有谁知道如何解决这个问题?我做错什么了吗?谢谢。

4

1 回答 1

2

据我所知,虽然我没有专门测试过你的情况,但当你尝试应用基于 CONTAINSTEXT 的条件格式时,你不应该打电话

'->addCondition('X')' 

(代码中的第 5 行),而是调用该方法:

->setText('X')

在您的 PHPExcel_Style_Conditional 对象上。这就是我在我的 PHPExcel 工作表中指定要比较的文本的方式。

于 2013-10-02T10:51:01.783 回答