C#在Excel中生成多个图表

我想在Excel中生成两个图表。 这是我的代码生成的第一个,然后我想在另一个范围在同一个文件中生成一个。

Range chartRange; ChartObjects xlCharts = (ChartObjects)ws.ChartObjects(Type.Missing); ChartObject myChart = (ChartObject)xlCharts.Add(10, 80, 300, 250); Chart chartPage = myChart.Chart; chartRange = ws.get_Range("A4", "AZ4"); chartPage.ChartType = XlChartType.xlLineMarkers; chartPage.HasTitle = true; chartPage.ChartTitle.Text = "Lägenhetstyp 1"; chartPage.HasLegend = false; chartPage.SetSourceData(chartRange, misValue); chartPage.ChartType = XlChartType.xlColumnClustered; 

像这样的东西。

 Range chartRange; //First Chart ChartObjects xlCharts = (ChartObjects)ws.ChartObjects(Type.Missing); ChartObject myChart = (ChartObject)xlCharts.Add(10, 80, 300, 250); Chart chartPage = myChart.Chart; chartRange = ws.get_Range("A4", "AZ4"); chartPage.ChartType = XlChartType.xlLineMarkers; chartPage.HasTitle = true; chartPage.ChartTitle.Text = "Chart 1"; chartPage.HasLegend = false; chartPage.SetSourceData(chartRange, misValue); chartPage.ChartType = XlChartType.xlColumnClustered; //Second chart ChartObjects xlCharts = (ChartObjects)ws.ChartObjects(Type.Missing); ChartObject myChart = (ChartObject)xlCharts.Add(10, 80, 300, 250); Chart chartPage = myChart.Chart; chartRange = ws.get_Range("A8", "AZ8"); chartPage.ChartType = XlChartType.xlLineMarkers; chartPage.HasTitle = true; chartPage.ChartTitle.Text = "Chart 2"; chartPage.HasLegend = false; chartPage.SetSourceData(chartRange, misValue); chartPage.ChartType = XlChartType.xlColumnClustered; 

这是我如何解决它。

  for (int i = 1; i <= 2; i++) { Range chartRange; ChartObjects xlCharts = (ChartObjects)ws.ChartObjects(Type.Missing); ChartObject myChart = (ChartObject)xlCharts.Add(10, 80, 300, 250); Chart chartPage = myChart.Chart; if (i == 1) { chartRange = ws.get_Range("A4", "AZ4"); } else { chartRange = ws.get_Range("A8", "AZ8"); } chartPage.ChartType = XlChartType.xlLineMarkers; chartPage.HasTitle = true; chartPage.ChartTitle.Text = "Chart " + i; chartPage.HasLegend = false; chartPage.SetSourceData(chartRange, misValue); chartPage.ChartType = XlChartType.xlColumnClustered; }