我在我的项目中使用Excel5。 我已经尝试了以下代码:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->getARGB();
和
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();
但这些代码返回错误的颜色。 该getStartColor()
总是返回FFFFFFFF
和FF000000
的getEndColor()
而不是红色。
我不知道我是什么失踪。 任何一个可以帮助我搞清楚了这一点?
setReadDataOnly(TRUE)表示只读从细胞中的数据 ,但没有一个造型......和背景颜色造型的读者会忽略背景颜色时,它加载文件...如果填充风格不是的一部分加载,然后调用$ objPHPExcel-> getActiveSheet() - >对getStyle( 'A1') - > getFill()将返回默认填充样式和颜色。
负载setReadDataOnly(FALSE)的文件,你会发现它的工作原理
编辑
这是远远超出PHPExcel的范围....一切都是通过DDE人口,包括大多数的造型,所以底层填充颜色为纯(由PHPExcel getFill颜色调用返回),直到外部可执行TOS.exe填充数据并相应地设置样式。 在这里你唯一的选择就是让工作簿在MS Excel本身正在执行使用COM。
你的第二个代码:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();
作品,它只是返回十六进制颜色代码(FF0000)。
RGB =红色蓝色绿色= XX xx月xx
FF0000居然是红色的。