C# 使用office互操作从图表范围中删除行

C# 使用office互操作从图表范围中删除行,c#,ms-word,office-interop,C#,Ms Word,Office Interop,我正在使用c office互操作将图表插入word文档 我将图表插入文档,然后从图表相关工作簿访问ActiveSheet,以更改单元格的值,以便显示所需的数据。下面是我目前正在使用的代码 Application application = new ApplicationClass(); var paragraph = CreateParagraph(); var chart = application.ActiveDocument.Inlin

我正在使用c office互操作将图表插入word文档

我将图表插入文档,然后从图表相关工作簿访问ActiveSheet,以更改单元格的值,以便显示所需的数据。下面是我目前正在使用的代码

 Application application = new ApplicationClass();

            var paragraph = CreateParagraph();

            var chart = application.ActiveDocument.InlineShapes.AddChart(XlChartType.xlColumnClustered, paragraph.Range);

            var activeSheet = chart.Chart.ChartData.Workbook.ActiveSheet;

            activeSheet.Cells[2, 1] = "YTD LM Sales";
            activeSheet.Cells[3, 1] = "YTD LM Budget Value";
            activeSheet.Cells[4, 1] = "YTD LY LM Sales";
            activeSheet.Rows[5] = null;

            for (int i = 0; i <= results.Count() - 1; i++)
            {
                var sale = results.ElementAt(i);

                activeSheet.Cells[1, i + 2] = sale.FinancialPLN;
                activeSheet.Cells[2, i + 2] = GetStringValueOfNumber(sale.YtdLmSales);
                activeSheet.Cells[3, i + 2] = GetStringValueOfNumber(sale.YtdLmBudgetValue);
                activeSheet.Cells[4, i + 2] = GetStringValueOfNumber(sale.YtdLyLmSales);
            }
但是,默认情况下,创建的图表在活动工作表中有4行,在图表上有4个系列。我遇到的问题是,我只有3行我想要使用的实际数据

因此,第四个默认行将在图表中显示一些默认值

我想一起删除这一行,并确保图表不显示它。我已经尝试过将值置零,但是图表中应该是序列的地方只有空白


有人知道如何设置以这种方式创建的图表的范围,还是只从范围中删除一行?

您可以尝试以下方法:

chart.Chart.SeriesCollection(4).Delete();
你需要这个图表,因为图表是一个内线形状,不知道图表的行为


我找到了SeriesCollection 4。通过在Excel中记录宏并从图表中删除系列,然后查看代码来删除行为。

不幸的是,SeriesCollection不是图表对象的有效属性。我四处查看了一个类似名称的属性,但找不到该属性。图表上没有可用的SeriesCollection。图表对象如果它在我这边起作用,我将引用.NET 4.0 client/4.5、Microsoft.Office.Interop.Word 14.0.0.0/15.0.0.0.0和Word 2010。你呢?看看这些:还有。。。