我在我的项目中使用Excel5。我已经尝试了以下代码:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->getARGB();
和
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();
但是这些代码返回错误的颜色。getStartColor()
始终返回FFFFFFFF
和FF000000
,用于getEndColor()
而不是红色。
我不知道我错过了什么。有人能帮我弄清楚吗?
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实际上是红色的。