如何使用PHPExcel有条件地格式化重复值

如何使用PHPExcel有条件地格式化重复值,php,phpexcel,Php,Phpexcel,我正在尝试使用PHPExcel为重复值设置条件格式 类PHPExcel\u-Style\u-Conditional导出Excel中几乎所有可用的条件,如OPERATOR\u greater,OPERATOR\u LESSTHAN等。但我找不到任何类似以下格式的重复值: $conditional = new PHPExcel_Style_Conditional(); $conditional->setConditionType(PHPExcel_Style_Conditional::COND

我正在尝试使用PHPExcel为重复值设置条件格式

PHPExcel\u-Style\u-Conditional
导出Excel中几乎所有可用的条件,如
OPERATOR\u greater
OPERATOR\u LESSTHAN
等。但我找不到任何类似以下格式的重复值:

$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);

我知道,我可以自己检查副本并对其进行相应的格式化,但使用Excel自己的功能集来实现这一点要优雅得多


有人知道怎么做吗?

在深入研究了
PHPExcel
的代码之后,我发现这个条件类型还不受支持

所以我自己添加了它,并为它创建了一个pull请求:

我将在合并后立即更新此答案

如果您是住院患者,您可以临时自行执行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);