Я работаю с таблицей PHPS для решения некоторых задач.
Я пытаюсь получить цвет заливки поля.
<code><?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Color;
use PhpOffice\PhpSpreadsheet\Style\Conditional;
use PhpOffice\PhpSpreadsheet\Style\Font;
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load("missingean.xlsx");
$allMissing = $spreadsheet->getSheet(1)->getStyle('B4');
echo "<pre>"; print_r($allMissing); echo "
";
Это мой код. Вот ответ заполнения:
[fill:protected] => PhpOffice\PhpSpreadsheet\Style\Fill Object
(
[startcolorIndex] =>
[endcolorIndex] =>
[fillType:protected] => none
[rotation:protected] => 0
[startColor:protected] => PhpOffice\PhpSpreadsheet\Style\Color Object
(
[argb:protected] => FFFFFFFF
[isSupervisor:protected] => 1
[parent:protected] => PhpOffice\PhpSpreadsheet\Style\Fill Object
*RECURSION*
[parentPropertyName:protected] => startColor
)
[endColor:protected] => PhpOffice\PhpSpreadsheet\Style\Color Object
(
[argb:protected] => FF000000
[isSupervisor:protected] => 1
[parent:protected] => PhpOffice\PhpSpreadsheet\Style\Fill Object
*RECURSION*
[parentPropertyName:protected] => endColor
)
[isSupervisor:protected] => 1
[parent:protected] => PhpOffice\PhpSpreadsheet\Style\Style Object
*RECURSION*
[parentPropertyName:protected] =>
)
Как я понимаю, здесь endColor должен быть цветом заливки. Моя проблема, однако, заключается в том, что значение ARGB здесь всегда равно FF000000, независимо от того, на какое поле я нацеливаюсь. У меня есть много желтых полей в моем файле Xlsx, и они мне интересны. Не имеет значения, нацеливаю ли я на белую или желтую ячейку, endColor остается прежним.
Я ошибаюсь или есть хитрость, чтобы заставить это работать?