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 に答える