使用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;
有没有人知道如何在工作簿上创建图表(即图表是图纸的位置)。
答案 0 :(得分:3)
如果你从Excel GUI中记录一个将图表作为工作表插入的宏,并查看生成的VB(顺便提一下,这是一个非常方便的方法来弄清楚如何在互操作中做东西),你会看到它只是在活动工作表中首先创建图表,然后将其位置更改为新工作表。所以在上面的代码之后你可以添加一行:
chart.Location(XlChartLocation.xlLocationAsNewSheet, "NewSheetName");
或者如果您希望Excel自动为您命名:
chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing);