使用C#MS Excel互操作库,我想以编程方式在工作簿上而不是在工作表上创建新图表。

下面的代码使我可以在现有的_Worksheet(工作表)上创建图表。

using using Microsoft.Office.Interop.Excel;

_Worksheet sheet;  (assume this is a reference to a valid _Worksheet object)
ChartObjects charts = (ChartObjects)sheet.ChartObjects(Type.Missing);
ChartObject chartObject = (ChartObject)charts.Add(10, 80, 300, 250);
Chart chart = chartObject.Chart;
chart.ChartType = XlChartType.xlXYScatter;

有谁知道如何在工作簿上创建图表(即图表在工作表中的位置)。

最佳答案

如果您从Excel GUI记录了将图表插入为表格的宏并查看生成的VB(顺便说一句,这是找出如何在互操作中做事的一种非常方便的方法),您会看到它只是创建了图表首先在事件工作表中,然后将其位置更改为新工作表。因此,在上面的代码之后,您只需添加以下行即可:

  chart.Location(XlChartLocation.xlLocationAsNewSheet, "NewSheetName");

或者,如果您希望Excel自动为您命名:
  chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing);

10-04 22:31
查看更多