我正在尝试使用PHPExcel为重复值设置条件格式。
班级PHPExcel_Style_Conditional
几乎导出Excel中可用的所有条件,例如OPERATOR_GREATERTHAN
,OPERATOR_LESSTHAN
等,但我找不到任何格式化重复值的内容,如下所示:
我知道,我可以自己检查重复项并相应地格式化它们,但使用Excel自己的功能集会更加优雅。
有谁知道怎么做?
答案 0 :(得分:2)
在深入研究PHPExcel
的代码之后,我发现这个条件类型还不支持。
所以我自己添加了它并为它创建了拉取请求:PHPExcel - PR: Add support for conditionally formatting duplicate values
我会在合并后立即更新此答案。
如果您是住院病人,您可以自行暂时执行PR的两项(非常小的)更改。之后,您可以将重复值的条件格式添加到Excel表格中,如下所示:
$conditional = new PHPExcel_Style_Conditional();
$conditional->setConditionType(PHPExcel_Style_Conditional::CONDITION_DUPLICATEVALUES);
$conditional->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);
$style = $sheet->getStyle('A1:A10');
$conditionalStyles = $style->getConditionalStyles();
array_push($conditionalStyles, $conditional);
$style->setConditionalStyles($conditionalStyles);