Tutorial: Enlace de datos complejo en un proyecto en el nivel del documento
En este tutorial se muestran los fundamentos del enlace de datos complejos en un proyecto en el nivel del documento.Puede enlazar varias celdas de una hoja de cálculo de Microsoft Office Excel a los campos de la base de datos Northwind de SQL Server.
Se aplica a: La información de este tema se aplica a los proyectos de nivel de documento para Excel 2013 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.
En este tutorial se muestran las tareas siguientes:
Agregar un origen de datos al proyecto de libro.
Agregar controles enlazados a datos a una hoja de cálculo.
Guardar en la base de datos los cambios realizados en los datos.
[!NOTA]
Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.
Requisitos previos
Necesita los componentes siguientes para completar este tutorial:
-
Una edición de Visual Studio 2012 que incluye las herramientas para desarrolladores de Microsoft Office. Para obtener más información, vea [Configurar un equipo para desarrollar soluciones de Office](bb398242\(v=vs.110\).md).
Excel 2013 o Excel 2010.
Acceso a un servidor con la base de datos de ejemplo Northwind de SQL Server.
Permisos de lectura y escritura en la base de datos de SQL Server.
Crear un proyecto nuevo
El primer paso es crear un proyecto de libro de Excel.
Para crear un nuevo proyecto
Cree un proyecto de libro de Excel con el nombre Mi enlace de datos complejo.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 Mi enlace de datos complejo al Explorador de soluciones.
Crear el origen de datos
Utilice la ventana Orígenes de datos para agregar un conjunto de datos con tipo al proyecto.
Para crear el origen de datos
Si la ventana orígenes de datos no está visible, muéstrela por, en la barra de menús, eligiendo Vista, Otras ventanas, orígenes de datos.
Elija Agregar nuevo origen de datos para iniciar Asistente para la configuración de orígenes de datos.
Seleccione Base de datos y, a continuación, haga clic en Siguiente.
Seleccione una conexión de datos a la base de datos de ejemplo Northwind de SQL Server o agregue una nueva conexión mediante el botón Nueva conexión.
Cuando haya seleccionado o creado una conexión, haga clic en Siguiente.
Si estuviera activada, desactive la opción de guardar la conexión y, a continuación, haga clic en Siguiente.
Expanda el nodo Tablas en la ventana Objetos de base de datos.
Active la casilla que aparece junto a la tabla Empleados.
Haga clic en Finalizar.
El asistente agrega la tabla Empleados a la ventana Orígenes de datos.También agrega al proyecto un conjunto de datos con tipo, visible en el Explorador de soluciones.
Agregar controles a la hoja de cálculo
Una hoja de cálculo mostrará la tabla Employees cuando se abra el libro.Los usuarios podrán realizar cambios en los datos y, a continuación, guardar estos cambios en la base de datos haciendo clic en un botón.
Para enlazar automáticamente la hoja de cálculo a la tabla, puede agregar un control ListObject a la hoja de cálculo desde la ventana Orígenes de datos.Para dar al usuario la opción de guardar los cambios, agregue un control Button desde el Cuadro de herramientas.
Para agregar un objeto de lista
Compruebe que el libro Mis datos complejos Binding.xlsx está abierto en el diseñador de Visual Studio, con Hoja1 mostrados.
Abra la ventana Orígenes de datos y seleccione el nodo Empleados.
Haga clic en la flecha de la lista desplegable que aparece.
Seleccione ListObject en la lista desplegable.
Arrastre la tabla Employees a la celda A6.
En la celda A6 se crea un control ListObject llamado EmployeesListObject.Al mismo tiempo, se agregan al proyecto un control BindingSource denominado EmployeesBindingSource, un adaptador de tablas y una instancia de la clase DataSet.El control se enlaza a BindingSource, que, a su vez, se enlaza a la instancia de DataSet.
Para agregar un botón
- Desde la ficha Controles comunes del Cuadro de herramientas, agregue un control Button a la celda A4 de la hoja de cálculo.
El paso siguiente es agregar texto al botón cuando se abre la hoja de cálculo.
Inicializar el control
Agregue el texto al botón en el controlador de eventos Startup.
Para inicializar el control
En el Explorador de soluciones, haga clic con el botón secundario del mouse en Sheet1.vb o Sheet1.cs y, a continuación, haga clic en Ver código en el menú contextual.
Agregue el código siguiente al método Sheet1_Startup para establecer el texto del button.
Me.Button1.Text = "Save"
this.button1.Text = "Save";
Sólo para C#, agregue un controlador de eventos para el evento Click al método Sheet1_Startup.
this.button1.Click += new EventHandler(button1_Click);
Ahora agregue código para controlar el evento Click del botón.
Guardar los cambios en la base de datos
Cualquier cambio que se haya realizado en los datos sólo existe en el conjunto de datos local hasta que se guardan explícitamente en la base de datos.
Para guardar los cambios en la base de datos
Agregue un controlador de eventos para el evento Click del button y agregue el código siguiente para confirmar todos los cambios realizados en el conjunto de datos y guardarlos en la base de datos.
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click Try Me.EmployeesTableAdapter.Update(Me.NorthwindDataSet.Employees) Catch ex As System.Data.DataException MessageBox.Show(ex.Message) End Try End Sub
private void button1_Click(object sender, EventArgs e) { try { this.employeesTableAdapter.Update(this.northwindDataSet.Employees); } catch (System.Data.DataException ex) { MessageBox.Show(ex.Message); } }
Probar la aplicación
Ahora puede probar el libro para comprobar de que los datos aparecen como se espera y que puede manipular los datos del objeto de lista.
Para probar el enlace de datos
Presione F5.
Compruebe que, cuando se abre el libro, el objeto de lista se rellena con los datos de la tabla Empleados.
Para modificar los datos
Haga clic en la celda B7, que debe contener el apellido Davolio.
Escriba el apellido Anderson y, a continuación, presione ENTRAR.
Para modificar un encabezado de columna
Haga clic en la celda que contiene el encabezado de columna Apellidos.
Escriba Apellidos y, a continuación, presione ENTRAR.
Para guardar los datos
En la hoja de cálculo, haga clic en Guardar.
Salga de Excel.Haga clic en No cuando se le pregunte si desea guardar los cambios realizados.
Presione F5 para ejecutar de nuevo el proyecto.
El objeto de lista se rellena con los datos de la tabla Empleados.
Observe que el apellido en la celda B7 todavía es Anderson, que es el cambio que realizó en los datos y guardó en la base de datos.El encabezado de columna Apellidos del encabezado de columna se ha vuelto a establecer en su formato original sin el espacio, porque el encabezado de columna no está enlazado a la base de datos y no guardó los cambios realizados en la hoja de cálculo.
Para agregar nuevas filas
Seleccione una celda dentro del objeto de lista.
En la parte inferior de la lista aparece una nueva fila, con un asterisco (*) en la primera celda de la nueva fila.
Agregue la información siguiente en la fila vacía.
IdEmpleado
Apellido
Nombre
Título
10
Ito
Shu
Director de ventas
Para eliminar filas
- Haga clic con el botón secundario en el número 16 (fila 16) en el extremo izquierdo de la hoja de cálculo y, a continuación, haga clic en Eliminar.
Para ordenar las filas de la lista
Seleccione una celda dentro de la lista.
En cada encabezado de columna aparecen botones con flechas.
Haga clic en el botón de flecha del encabezado de columna Apellidos.
Haga clic en Orden ascendente.
Las filas se ordenan alfabéticamente en función de los apellidos.
Para filtrar información
Seleccione una celda dentro de la lista.
Haga clic en el botón de flecha en el encabezado de columna Cargo.
Haga clic en Representante de ventas.
La lista muestra sólo las filas que tienen Representante de ventas en la columna Cargo.
Vuelva a hacer clic en el botón de flecha del encabezado de columna Cargo.
Haga clic en (Todos).
Se quita la función de filtro y aparecen todas las filas.
Pasos siguientes
Este tutorial muestra los fundamentos para enlazar una tabla de una base de datos a un objeto de lista.Éstas son algunas de las tareas que pueden venir a continuación:
Almacene en memoria caché los datos para poder utilizarlos sin conexión.Para obtener más información, vea Cómo: Almacenar datos en la memoria caché para el uso sin conexión o en un servidor.
Implementar la solución.Para obtener más información, vea Implementar una solución de Office.
Crear una relación de principal-detalle entre un campo y una tabla.Para obtener más información, vea Tutorial: Crear una relación principal-detalle utilizando un conjunto de datos almacenado en caché.
Vea también
Tareas
Tutorial: Enlace de datos simple en un proyecto en el nivel del documento