Share via


向工作表添加图表控件

可以在设计时和运行时在文档级自定义项中向Microsoft 办公室 Excel 工作表添加Chart控件。 还可以在 VSTO 外接程序的运行时添加 Chart 控件。

适用于: 本主题中的信息适用于 Excel 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

本主题介绍了以下任务:

在设计时添加图表控件

可按照与从应用程序添加图表相同的方式,将 Chart 控件添加到工作表中。

注意

控件Chart在工具箱数据源窗口中不可用

将图表主机控件添加到 Excel 的工作表中

  1. “插入”选项卡上的“图表”组中,单击“列,单击图表类别,然后单击所需的图表类型。

  2. “插入图表 ”对话框中,单击“ 确定”。

  3. “设计 ”选项卡上的 “数据 ”组中,单击“ 选择数据”。

  4. “选择数据源 ”对话框中,单击“ 图表数据范围 ”框并清除任何默认选择。

  5. “图表 数据”工作表中,选择包含图表数据的单元格区域(单元格 A5D8)。

  6. “选择数据源 ”对话框中,单击“ 确定”。

在文档级项目中的运行时添加图表控件

可以在运行时动态添加 Chart 控件。 文档关闭时,动态创建的图表不会作为主机控件保留在文档中。 有关详细信息,请参阅在运行时向办公室文档添加控件。

以编程方式将图表控件添加到工作表中

  1. Sheet1Startup 事件处理程序中,插入下列代码以添加 Chart 控件。

    Microsoft.Office.Tools.Excel.Chart employeeData;
    employeeData = this.Controls.AddChart(25, 110, 200, 150, "employees");
    employeeData.ChartType = Excel.XlChartType.xl3DPie;
    
    // Gets the cells that define the data to be charted.
    Excel.Range chartRange = this.get_Range("A5", "D8");
    employeeData.SetSourceData(chartRange, missing);
    

在运行时在 VSTO 外接程序项目中添加图表控件

可以按编程方式将 Chart 控件添加到 VSTO 外接程序项目中任何打开的工作表中。 有关详细信息,请参阅 运行时在 VSTO 外接程序中扩展 Word 文档和 Excel 工作簿。

工作表关闭时,动态创建的图表控件不会作为主机控件保留在工作表中。 有关详细信息,请参阅在运行时向办公室文档添加控件。

以编程方式将图表控件添加到工作表中

  1. 下面的代码将生成基于打开工作表的工作表主机项,然后添加 Chart 控件。

    private void AddChart()
    {
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet);
    
    
        Excel.Range cells = worksheet.Range["A5", "D8"];
        Chart chart = worksheet.Controls.AddChart(cells, "employees");
        chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xl3DPie;
        chart.SetSourceData(cells);
    }
    

编译代码

此示例具有下列要求:

  • 制成图表并存储在工作表中 A5 到 D8 范围内的数据。