如何:向工作表添加 Chart 控件

更新: 2008 年 7 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

文档级项目

  • Excel 2007

  • Excel 2003

应用程序级项目

  • Excel 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

在文档级自定义项中,可以在设计时和运行时向 Microsoft Office Excel 工作表添加 Chart 控件。

从 Visual Studio 2008 Service Pack 1 (SP1) 开始,在应用程序级外接程序中,您可以在运行时添加 Chart 控件。

本主题介绍了以下任务:

  • 在设计时添加 Chart 控件

  • 在运行时在文档级项目中添加 Chart 控件

  • 在运行时在应用程序级项目中添加 Chart 控件

有关 Chart 控件的更多信息,请参见 Chart 控件

在设计时添加 Chart 控件

可以采取在应用程序中添加图表时所用的方式,将 Chart 控件添加到工作表。

scb68w64.alert_note(zh-cn,VS.90).gif说明:

“工具箱”或“数据源”窗口中未提供 Chart 控件。

在 Excel 2003 中使用“图表向导”将 Chart 宿主控件添加到工作表

  1. 在“插入”菜单上单击“图表”。

    随即出现“图表向导”。

    scb68w64.alert_note(zh-cn,VS.90).gif说明:

    如果“插入”菜单在工具栏上不可用,请单击相应文档以向该文档提供焦点。

  2. 在“图表向导”的“标准类型”或“自定义类型”选项卡中,选择所需的图表类型,然后单击“下一步”。

  3. 选择包含图表数据的单元格的范围(单元格“A5”到“D8”),然后单击“下一步”。

在“图表向导”的“4 步骤之 3”中选择所需的选项,然后单击“完成”。

在 Excel 2007 中将 Chart 宿主控件添加到工作表中

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

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

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

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

  5. 在“图表数据”工作表中,选择包含图表数据的单元格范围(单元格“A5”至“D8”)。

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

在运行时在文档级项目中添加 Chart 控件

可以在运行时动态地添加 Chart 控件。关闭文档时,动态创建的图表不会作为宿主控件保持在该文档中。有关更多信息,请参见在运行时向 Office 文档添加控件

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

  • 在 Sheet1 的 Startup 事件处理程序中,插入以下代码以添加 Chart 控件。

    Dim employeeData As Microsoft.Office.Tools.Excel.Chart
    employeeData = Me.Controls.AddChart(25, 110, 200, 150, "employees")
    employeeData.ChartType = Excel.XlChartType.xl3DPie
    
    ' Gets the cells that define the data to be charted.
    Dim chartRange As Excel.Range = Me.Range("A5", "D8")
    employeeData.SetSourceData(chartRange)
    
    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);
    

在运行时在应用程序级项目中添加 Chart 控件

从 SP1 开始,您可以以编程方式在应用程序级外接程序项目中向任何打开的工作表添加 Chart 控件。有关更多信息,请参见在运行时在应用程序级外接程序中扩展 Word 文档和 Excel 工作簿

关闭工作表时,动态创建的图表控件不会像宿主控件一样保留在工作表中。有关更多信息,请参见在运行时向 Office 文档添加控件

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

  • 下面的代码生成一个基于打开的工作表的工作表宿主项,然后添加一个 Chart 控件。

    Private Sub AddChart()
        Dim worksheet As Worksheet = CType(Application.ActiveWorkbook.Worksheets(1),  _
            Excel.Worksheet).GetVstoObject()
        Dim cells As Excel.Range = worksheet.Range("A5", "D8")
        Dim chart As Chart = worksheet.Controls.AddChart(cells, "employees")
        chart.ChartType = Excel.XlChartType.xl3DPie
        chart.SetSourceData(cells, Type.Missing)
    
    End Sub
    
    private void AddChart()
    {
        Worksheet worksheet =
            ((Excel.Worksheet)Application.
                  ActiveWorkbook.Worksheets[1]).GetVstoObject();
        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, missing);
    }       
    

编译代码

此示例有以下要求:

  • 要为其创建图表的数据,存储于工作表的 A5 到 D8 范围内。

请参见

概念

在运行时在应用程序级外接程序中扩展 Word 文档和 Excel 工作簿

Excel 应用程序级外接程序开发

Chart 控件

宿主项和宿主控件概述

将数据绑定到控件

ChartSheet 宿主项

宿主项和宿主控件的编程限制

其他资源

Office 文档上的控件

Excel 宿主控件

修订记录

日期

历史记录

原因

2008 年 7 月

增加了说明如何在应用程序级外接程序中向工作表添加图表控件的一节。

SP1 功能更改。