Excel 图表为 3D 条形着色

Excel Chart colorize 3D bars

使用 Excel 和互操作为 3D 条形图着色不起作用:

创建图表:

chartRange = xlsSheet.Range[xlsSheet.Cells[1, 1], xlsSheet.Cells[array.GetLength(0), array.GetLength(1)]];
chartPage.SetSourceData(chartRange, Excel.XlRowCol.xlRows);
chartPage.ChartType = Excel.XlChartType.xl3DColumn;
chartPage.Location(Excel.XlChartLocation.xlLocationAsNewSheet, oOpt);

改变颜色:

Excel.Series series = (Excel.Series)chartPage.SeriesCollection(1);
Excel.Point pt = series.Points(2);
pt.Format.Fill.ForeColor.RGB = (int)Excel.XlRgbColor.rgbPink;

问题:图表内部没有任何变化,但也没有错误。只是在条形图上显示这种随机颜色。

在这种情况下,语句的顺序很重要:

chartRange = xlsSheet.Range[xlsSheet.Cells[1, 1], xlsSheet.Cells[array.GetLength(0), array.GetLength(1)]];
chartPage.SetSourceData(chartRange, Excel.XlRowCol.xlRows);

Excel.Series series = (Excel.Series)chartPage.SeriesCollection(1);
Excel.Point pt = series.Points(2);
pt.Format.Fill.ForeColor.RGB = (int)Excel.XlRgbColor.rgbPink;

chartPage.ChartType = Excel.XlChartType.xl3DColumn;
chartPage.Location(Excel.XlChartLocation.xlLocationAsNewSheet, oOpt);

对我有用