お世話になります。
phpエクセルで条件付き書式を設定しようとしているのですが、
うまくいきません。
やりたいことは2つあり、
①A2の値を参照し、A3以下だったらA3の背景をグレーにする
②その条件付き書式をA4~A6にコピーする といったものです。(エクセルのテンプレートは.xlsです。)
<?php $objConditional1 = new PHPExcel_Style_Conditional(); $objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS); $objConditional1->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN); $objConditional1->addCondition('A2'); $objConditional1->getStyle()->getFont()->getColor()->setRGB('333333'); $objConditional1->getStyle()->getFont()->setBold(true); $objConditional1->getStyle()->getFill()->setFillType(PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID); $objConditional1->getStyle()->getFill()->getStartColor()->setRGB('333333'); //条件付き書式をセルに設定 $conditionalStyles = $excel->getActiveSheet()->getStyle('A3')->getConditionalStyles(); array_push($conditionalStyles, $objConditional1); $excel->getActiveSheet()->getStyle('A3')->setConditionalStyles($conditionalStyles); //条件付き書式のコピー $excel->getActiveSheet()->duplicateStyle($excel->getActiveSheet()->getStyle('A3'), 'A4:A6'); ?>
このコードですと結果に
①【A2以下なら】という条件にならず、【0以下なら】になる(グレー背景は設定される)
②条件付き書式がコピーされない
という2点の問題があります。
以下URLを参考にしたり、色々と調べたのですが解決方法が出ません。
https://github.com/PHPOffice/PHPExcel/blob/develop/Documentation/markdown/Overview/08-Recipes.md#user-content-conditional-formatting-a-cell
http://www.asudahlah.com/2016/12/conditional-formatting-in-phpexcel.html
どなたかご教授をお願いします。
あなたの回答
tips
プレビュー