1

我已经为 Excel 工作表中的 B 列应用了条件格式规则。当我试图获取该特定单元格的条件样式时,我得到一个空数组。我正在使用下面的代码来获取条件样式。

$conditionalStyles = $PHPExcelObj->getActiveSheet()->getStyle('B4')->getConditionalStyles();

我使用了 setReadDataOnly(false),以便获取所有样式信息。下面是我用来创建阅读器对象的代码。

$PHPExcelObj   = new PHPExcel;
$InputFileType = PHPExcel_IOFactory::identify($path);
$ObjReader     = PHPExcel_IOFactory::createReader($InputFileType);
$ObjReader->setReadDataOnly(false);
$PHPExcelObj->setActiveSheetIndex(0);
$conditionalStyles = $PHPExcelObj->getActiveSheet()->getStyle('B4')->getConditionalStyles();

我无法找出我做错了什么。任何线索都会非常有帮助。谢谢

编辑1:

原始文件是一个 .xls 文件。将其保存为 .xlsx 文件后,我可以获取条件样式。getConditionalStyles() 方法仅适用于 .xlsx 文件?

编辑2:

即使使用 .xlsx 文件,它也只能部分显示条件样式。对于某些单元格,即使有条件样式规则,它也不会显示那些。任何人都可以给出任何想法,我该如何实现这一目标。我的目标是获取单元格的样式信息,例如背景颜色、字体粗细等。除了 PHPExcel 之外,我还可以使用其他 Excel 阅读库吗?

4

1 回答 1

-1

不使用 getStyle 试试:

$conditionalStyles = $PHPExcelObj->getActiveSheet()->getConditionalStyles('B4');
于 2017-12-15T12:20:17.630 回答