我在我的项目中使用Excel5。我已经尝试过以下代码:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->getARGB();
和
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();
但这些代码返回错误的颜色。 getStartColor()
始终为FFFFFFFF
而不是红色FF000000
返回getEndColor()
和{{1}}。
我不知道遗失了什么。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:6)
setReadDataOnly(TRUE)表示只读取单元格中的 数据 ,但没有任何样式...和背景颜色是样式的一部分,读者将加载文件时忽略背景颜色...如果未加载填充样式,则调用$ objPHPExcel-> getActiveSheet() - > getStyle('A1') - > getFill()将返回默认填充风格和颜色。
使用setReadDataOnly(FALSE)加载文件,你会发现它可以正常工作
修改强>
这超出了PHPExcel的范围....所有内容都通过DDE填充,包括大部分样式,因此底层填充颜色是普通的(由PHPExcel getFill颜色调用返回),直到外部可执行TOS。 exe填充数据并相应地设置样式。这里唯一的选择是使用COM,以便在MS Excel本身中执行工作簿。
答案 1 :(得分:1)
你的第二个代码:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();
Works,它只返回一个颜色十六进制代码(FF0000)。
RGB =红蓝绿= xx xx xx
FF0000实际上是RED。