Я использую 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 не заполнит данных и соответственно устанавливает стили. Ваш единственный вариант здесь – использовать COM, чтобы рабочая книга выполнялась в самом MS Excel.
Второй код:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getEndColor()->getARGB();
Works, он просто возвращает шестнадцатеричный код цвета (FF0000).
RGB = красный синий зеленый = xx xx xx
FF0000 действительно КРАСНЫЙ.