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);
对我有用
使用 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);
对我有用