Tutorial: Enlazar datos a controles en un panel de acciones de Excel

En este tutorial se muestra el enlace de datos a controles en un panel de acciones de Microsoft Office Excel. Los controles muestran una relación principal-detalle entre las tablas de una base de datos de SQL Server.

Se aplica a: la información de este tema se aplica a proyectos de nivel de documento para Excel. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

En este tutorial se muestran las tareas siguientes:

  • Agregar controles a una hoja de cálculo.

  • Crear un control de panel de acciones.

  • Agregar controles de Windows Forms enlazados a datos a un control de panel de acciones.

  • Mostrar el panel de acciones cuando se abre la aplicación.

Nota:

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para más información, vea Personalizar el IDE de Visual Studio.

Requisitos previos

Necesitará los componentes siguientes para completar este tutorial:

  • Una edición de Visual Studio que incluye las herramientas para desarrolladores de Microsoft Office. Para obtener más información, vea Configurar un equipo para desarrollar soluciones de Office.

  • Excel 2013 o Excel 2010 .

  • Acceso a un servidor con la base de datos de ejemplo northwind SQL Server.

  • Permisos para leer y escribir en la base de datos de SQL Server.

Creación del proyecto

En primer lugar, es necesario crear un proyecto de libro de Excel.

Para crear un nuevo proyecto

  1. Cree un proyecto de libro de Excel con el nombre Mi panel de acciones de Excel. En el asistente, seleccione Crear un nuevo documento. Para obtener más información, vea Cómo: Crear proyectos de Office en Visual Studio.

    Visual Studio abre el nuevo libro de Excel en el diseñador y agrega el proyecto Panel Mis acciones de Excel a Explorador de soluciones.

Adición de un nuevo origen de datos al proyecto

Para agregar un nuevo origen de datos al proyecto

  1. Si la ventana Orígenes de datos no está visible, la muestra, en la barra de menús, elija Ver>otros orígenes de datos de Windows.>

  2. Elija Agregar nuevo origen de datos para iniciar el Asistente para configuración de orígenes de datos.

  3. Seleccione Base de datos y, a continuación, haga clic en Siguiente.

  4. Seleccione una conexión de datos a la base de datos de SQL Server de ejemplo Northwind o agregue una nueva conexión mediante el botón Nuevo Conectar ion.

  5. Haga clic en Next.

  6. Desactive la opción para guardar la conexión si está seleccionada y, a continuación, haga clic en Siguiente.

  7. Expanda el nodo Tablas en la ventana Objetos de base de datos.

  8. Active la casilla situada junto a la tabla Proveedores .

  9. Expanda la tabla Products y seleccione ProductName, SupplierID, QuantityPerUnit y UnitPrice.

  10. Haga clic en Finalizar

    El asistente agrega la tabla Proveedores y la tabla Products a la ventana Orígenes de datos. También agrega un conjunto de datos con tipo al proyecto que está visible en Explorador de soluciones.

Agregar controles a la hoja de cálculo

A continuación, agregue un NamedRange control y un ListObject control a la primera hoja de cálculo.

Para agregar un control NamedRange y un control ListObject

  1. Compruebe que el libro My Excel Actions Pane.xlsx está abierto en el diseñador de Visual Studio, con Sheet1 la visualización.

  2. En la ventana Orígenes de datos , expanda la tabla Proveedores .

  3. Haga clic en la flecha desplegable del nodo Nombre de la compañía y, a continuación, haga clic en NamedRange.

  4. Arrastre Nombre de la compañía desde la ventana Orígenes de datos a la celda A2 en Sheet1.

    Se crea un NamedRange control denominado CompanyNameNamedRange y el texto <CompanyName> aparece en la celda A2. Al mismo tiempo, se agrega un BindingSource objeto denominado suppliersBindingSource, un adaptador de tabla y un DataSet elemento al proyecto. El control está enlazado a , BindingSourceque a su vez está enlazado a la DataSet instancia.

  5. En la ventana Orígenes de datos , desplácese hacia abajo más allá de las columnas que se encuentran en la tabla Proveedores . En la parte inferior de la lista se encuentra la tabla Products ; está aquí porque es un elemento secundario de la tabla Proveedores . Seleccione esta tabla Products , no la que se encuentra en el mismo nivel que la tabla Proveedores y, a continuación, haga clic en la flecha desplegable que aparece.

  6. Haga clic en ListObject en la lista desplegable y arrastre la tabla Products a la celda A6 en Sheet1.

    Se crea un ListObject control denominado ProductNameListObject en la celda A6. Al mismo tiempo, se agrega un BindingSource adaptador con nombre productsBindingSource y una tabla al proyecto. El control está enlazado a , BindingSourceque a su vez está enlazado a la DataSet instancia.

  7. Solo para C#, seleccione proveedoresBindingSource en la bandeja de componentes y cambie la propiedad Modificadores a Interno en la ventana Propiedades .

Agregar controles al panel de acciones

A continuación, necesita un control de panel de acciones que tenga un cuadro combinado.

Para agregar un control de panel de acciones

  1. Seleccione el proyecto Panel Mis acciones de Excel en Explorador de soluciones.

  2. En el menú Proyecto , haga clic en Agregar nuevo elemento.

  3. En el cuadro de diálogo Agregar nuevo elemento , seleccione Control de panel de acciones, asígnele el nombre ActionsControl y haga clic en Agregar.

Para agregar controles de Windows Forms enlazados a datos a un control de panel de acciones

  1. En las pestañas Controles comunes del Cuadro de herramientas, arrastre un ComboBox control al control del panel de acciones.

  2. Cambie la propiedad Size a 171, 21.

  3. Cambie el tamaño del control de usuario para ajustarse al cuadro combinado.

Enlace del control en el panel de acciones a los datos

En esta sección, establecerá el origen de datos de en ComboBox el mismo origen de datos que el NamedRange control de la hoja de cálculo.

Para establecer las propiedades de enlace de datos del control

  1. Haga clic con el botón derecho en el control del panel de acciones y, a continuación, haga clic en Ver código.

  2. Agregue el código siguiente al Load evento del control del panel de acciones.

    private void ActionsControl_Load(object sender, EventArgs e)
    {
        this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource;
        this.comboBox1.DisplayMember = "CompanyName";
    }
    
  3. En C#, debe crear un controlador de eventos para .ActionsControl Puede colocar este código en el ActionsControl constructor. Para obtener más información sobre cómo crear controladores de eventos, vea How to: Create event handlers in Office projects.

    public ActionsControl()
    {
        InitializeComponent();
        this.Load += new EventHandler(ActionsControl_Load);
    }
    

Mostrar el panel de acciones

El panel de acciones no está visible hasta que agregue el control en tiempo de ejecución.

Para mostrar el panel de acciones

  1. En Explorador de soluciones, haga clic con el botón derecho en ThisWorkbook.vb o ThisWorkbook.cs y, a continuación, haga clic en Ver código.

  2. Cree una nueva instancia del control de usuario en la ThisWorkbook clase .

    ActionsControl actions = new ActionsControl();
    
  3. En el Startup controlador de eventos de ThisWorkbook, agregue el control al panel de acciones.

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.ActionsPane.Controls.Add(actions);
    }
    

Prueba de la aplicación

Ahora puede probar el documento para comprobar que el panel de acciones se abre cuando se abre el documento y que los controles tienen una relación de maestro y detalle.

Para probar el documento

  1. Presione F5 para ejecutar el proyecto.

  2. Confirme que el panel de acciones está visible.

  3. Seleccione una empresa en el cuadro de lista. Compruebe que el nombre de la empresa aparece en el NamedRange control y que los detalles del producto se muestran en el ListObject control.

  4. Seleccione varias empresas para comprobar el nombre de la empresa y los detalles del producto cambian según corresponda.

Pasos siguientes

A continuación, podría realizar las siguientes tareas: