PHPExcel getConditionalStyles()方法返回空数组

时间:2017-02-06 13:54:55

标签: php phpexcel phpexcel-1.8.0

我已在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();

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

EDIT1:

原始文件是.xls文件。在我将其保存为.xlsx文件后,我能够获得条件样式。 getConditionalStyles()方法仅适用于.xlsx文件?

EDIT2:

即使使用.xlsx文件,它也只能部分显示条件样式。对于某些单元格,即使存在条件样式规则,也不会显示这些规则。 任何人都可以知道如何实现这一目标。我的目标是获取单元格的样式信息,例如background-color,font-weight等等。除了PHPExcel之外还有其他任何Excel阅读库吗?

1 个答案:

答案 0 :(得分:-1)

不使用getStyle尝试:

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