C# 使用office互操作从图表范围中删除行
我正在使用c office互操作将图表插入word文档 我将图表插入文档,然后从图表相关工作簿访问ActiveSheet,以更改单元格的值,以便显示所需的数据。下面是我目前正在使用的代码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
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。你呢?看看这些:还有。。。