【发布时间】:2014-08-12 14:32:20
【问题描述】:
我正在使用 c# office interop 将图表插入到 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 行要使用的实际数据。
因此,图表中的第 4 个默认行显示了一些默认值。
我想一起删除这一行并确保图表不显示它。我已尝试将值清零,但图表只有系列应该存在的空白空间。
有谁知道如何设置以这种方式创建的图表的范围或简单地从范围中删除一行?
【问题讨论】:
标签: c# ms-word office-interop