获取PhpExcel中的单元格背景颜色

Ran*_*rto 4 php phpexcel

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

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->getARGB();
Run Code Online (Sandbox Code Playgroud)

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();
Run Code Online (Sandbox Code Playgroud)

但这些代码返回错误的颜色.将getStartColor()总是返回FFFFFFFFFF000000getEndColor()的,而不是红色.

我不知道遗失了什么.任何人都可以帮我解决这个问题吗?

Mar*_*ker 6

setReadDataOnly(TRUE)表示只读取单元格中的数据,但没有任何样式...作为样式的一部分,读者在加载文件时会忽略背景颜色...如果填充样式不是加载,然后调用$ objPHPExcel-> getActiveSheet() - > getStyle('A1') - > getFill()将返回默认的填充样式和颜色.

使用setReadDataOnly(FALSE)加载文件,你会发现它有效

编辑

这超出了PHPExcel的范围....所有内容都通过DDE填充,包括大部分样式,因此底层填充颜色是明确的(由PHPExcel getFill颜色调用返回),直到外部可执行文件TOS.exe填充数据并相应地设置样式.这里唯一的选择是使用COM,以便在MS Excel本身中执行工作簿.