phpSpreadSheetで円グラフ、ドーナツグラフの各値の色を指定する方法が分からず、
調べても情報がヒットせず、あきらめかけていたのですが、自分でいろいろ試していたらできました。
PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues で描画データをセットする際に、
7番目の引数に配列で指定すればいいみたいです。
例)
1 2 3 4 5 6 |
$colors = ['0A82B0', '0F9ED5', 'A0C7E5']; $arrDataSeriesValues1 = array( new PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues( PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues::DATASERIES_TYPE_NUMBER, 'ダッシュボード!$G$9:$G$11',NULL, 5, [], null, $colors), ); |
系列ラベルやX軸ラベルの指定時ではなく描画データの指定時なので注意。
最初からグラフを挿入したExcelを読み込めばいいじゃないと考えたのですが
読込んだExcelを更新して保存→PDF変換をする際にどうしてもグラフが消えてしまう事象があり解決できませんでした。
なのでphpSpreadSheetで自分でグラフを描くことにしました。
方法はとにかく、クライアントの要望どおりにやりたいことができたのでよしとします。