如何使用 PHPExcel 有条件地格式化重复值
How to conditionally format duplicate values with PHPExcel
我正在尝试使用 PHPExcel.
为重复值设置条件格式
class PHPExcel_Style_Conditional
导出了 Excel 中几乎所有可用的条件,例如 OPERATOR_GREATERTHAN
、OPERATOR_LESSTHAN
等,但我找不到任何东西像这样格式化重复值:
我知道,我可以自己检查重复项并相应地格式化它们,但是为此使用 Excel 自己的功能集会更加优雅。
有人知道怎么做吗?
深入研究 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);
我正在尝试使用 PHPExcel.
为重复值设置条件格式 class PHPExcel_Style_Conditional
导出了 Excel 中几乎所有可用的条件,例如 OPERATOR_GREATERTHAN
、OPERATOR_LESSTHAN
等,但我找不到任何东西像这样格式化重复值:
我知道,我可以自己检查重复项并相应地格式化它们,但是为此使用 Excel 自己的功能集会更加优雅。
有人知道怎么做吗?
深入研究 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);