phpSpreadSheetで円グラフの色を指定する方法

phpSpreadSheetで円グラフ、ドーナツグラフの各値の色を指定する方法が分からず、
調べても情報がヒットせず、あきらめかけていたのですが、自分でいろいろ試していたらできました。

PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues で描画データをセットする際に、
7番目の引数に配列で指定すればいいみたいです。

例)

系列ラベルやX軸ラベルの指定時ではなく描画データの指定時なので注意。

最初からグラフを挿入したExcelを読み込めばいいじゃないと考えたのですが
読込んだExcelを更新して保存→PDF変換をする際にどうしてもグラフが消えてしまう事象があり解決できませんでした。
なのでphpSpreadSheetで自分でグラフを描くことにしました。

方法はとにかく、クライアントの要望どおりにやりたいことができたのでよしとします。

【phpSpreadsheet】PHPでExcelを読み込んだらグラフが消える

phpSpreadsheetを長らく使っていますが、
あるとき「読み込んだExcelのグラフをそのまま出力したい」
という要望がありました。

何も考えずにグラフも読み込めるだろうと
過去のシステムからphpSpreadsheet使用部分をコピペして持ってきたところ、
出力したExcelはグラフだけ消えてしまいました。

知っている人にとってはなんということはないのですが、
グラフ付きのExcelを読み込むときは、Readerに対して

という設定が必要だとわかりました。

また、出力時も同様に、Writerに対して

が必要でした。

この歳になってまたひとつ勉強になりました。

例)