Get the cell background color in PhpExcel

php, phpexcel

Solution

setReadDataOnly(TRUE) means read only the data from the cells, but none of the styling... and as background colours are part of the styling the reader will ignore background colours when it loads the file... if the fill style is not loaded, then the call to $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill() will return default fill style and colours.

Load the file with setReadDataOnly(FALSE) and you should find it works

EDIT

This is way beyond the scope of PHPExcel.... everything is populated via DDE, including most of the styling, so the underlying fill colour is plain (as returned by the PHPExcel getFill colour call) until the external executable TOS.exe populates the data and sets the styles accordingly. Your only option here is to use COM so that the workbook is being executed in MS Excel itself.

Problem

I'm using Excel5 in my project. I have already tried the following codes: ``` $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->getARGB(); ``` and ``` $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB(); ``` but these codes are returning wrong color. The `getStartColor()` always returning `FFFFFFFF` and `FF000000` for `getEndColor()` instead of red. I don't know what am missing. Can any one help me in figuring this out?

Original source