【问题标题】:c#-excel interop - create chart on workbook as opposed to in a sheetc#-excel interop - 在工作簿上创建图表,而不是在工作表中
【发布时间】:2010-06-10 15:05:02
【问题描述】:

使用 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;

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

【问题讨论】:

    标签: c# excel interop charts


    【解决方案1】:

    如果您从 Excel GUI 录制一个将图表插入为工作表的宏并查看生成的 VB(顺便说一句,这是一种非常方便的方式来确定如何在互操作中执行操作),您会看到它只需首先在活动工作表中创建图表,然后将其位置更改为新工作表。因此,在您上面的代码之后,您只需添加以下行:

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

    或者如果您希望 Excel 自动为您命名:

      chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing);
    

    【讨论】:

    • 谢谢 yoyo,这就是我一直在寻找的答案,以及一些好的建议。
    猜你喜欢
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 2018-02-26
    • 1970-01-01
    相关资源
    最近更新 更多