使用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;
问题:图表内部没有任何变化,但也没有错误。只是在条形图上显示这种随机颜色。
答案 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);
为我工作