提问者:小点点

获取PhpExcel中的单元格背景色


我在我的项目中使用Excel5。我已经尝试了以下代码:

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->getARGB();

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();

但是这些代码返回错误的颜色。getStartColor()始终返回FFFFFFFFFF000000,用于getEndColor()而不是红色。

我不知道我错过了什么。有人能帮我弄清楚吗?


共2个答案

匿名用户

setReadDataOnly(TRUE)表示仅从单元格中读取数据,但不读取任何样式。。。由于背景色是样式的一部分,读者在加载文件时会忽略背景色。。。如果未加载填充样式,则调用$objPHPExcel-

使用setReadDataOnly(FALSE)加载文件,您会发现它可以工作

编辑

这远远超出了PHPExcel的范围。。。。所有内容都是通过DDE填充的,包括大多数样式,因此在外部可执行TOS之前,底层填充颜色都是普通的(由PHPExcel getFill Color调用返回)。exe填充数据并相应地设置样式。这里您唯一的选择是使用COM,以便工作簿在MS Excel中执行。

匿名用户

您的第二个代码:

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();

工作,它只是返回一个颜色十六进制代码(FF0000)。

RGB=红色蓝色绿色=xx xx xx

FF0000实际上是红色的。