Excel图表着色3D条形图

时间:2015-08-03 13:29:25

标签: c# excel charts interop

使用Excel和interop对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;

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

1 个答案:

答案 0 :(得分:0)

在这种情况下,陈述的顺序很重要:

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);

为我工作