C#使用Excel Interop添加辅助轴

时间:2017-07-02 18:29:19

标签: c# excel excel-interop excel-charts

我构建了一个可以从SQL数据库创建Excel电子表格的应用程序。它最初有三个系列,以下代码效果很好。但是,我现在被要求添加两个在辅助轴上以不同方式缩放的新系列。我添加了范围,但我无法使用Excel互操作添加辅助轴。

之前有没有人这样做过,如果有的话我错过了什么?

 ChartObjects xlCharts = (Excel.ChartObjects)mSheet.ChartObjects(Type.Missing);

 ChartObject myChart = (Excel.ChartObject)xlCharts.Add(358, (double)xlsRange.Top, 650, 350);
 myChart.Name = "myCool_Chart";
 Chart chartPage = myChart.Chart;
 chartPage.ChartType = XlChartType.xlLine;
 Series series = myChart.Chart.SeriesCollection().Add(dSheet.Range["$F$2:$H$124,$P$2:$Q$124"]);//F thru H is left axis and P thru Q should be secondary axis            
 series.XValues = dSheet.Range["$C$2:$C$124"];// Quart and Year values on bottom axis            
 chartPage.SeriesCollection(1).Name = "My first series";
 chartPage.SeriesCollection(2).Name = "My Second Series";
 chartPage.SeriesCollection(2).Format.Line.ForeColor.RGB = (int)XlRgbColor.rgbDarkOrange;            
 chartPage.SeriesCollection(3).Name = "My Third Series";
 chartPage.SeriesCollection(4).Name = "My fourth Series"; //this series should be secondary
 chartPage.SeriesCollection(5).Name = "My fifth Series";  //this series should be secondary

1 个答案:

答案 0 :(得分:3)

您可以使用AxisGroup属性:

chartPage.SeriesCollection(4).Name = "My fourth Series"; //this series should be secondary
chartPage.SeriesCollection(5).Name = "My fifth Series";  //this series should be secondary
chartPage.SeriesCollection(4).AxisGroup = XlAxisGroup.xlSecondary //2
chartPage.SeriesCollection(5).AxisGroup = XlAxisGroup.xlSecondary //2