En esta aplicación realizaremos una pequeña introducción a los que es ADO modo conectado y a lo que se refiere a la utilización de platillas Excel para mostrar la información que rescatamos desde una base de datos. Para esto seguiremos los siguientes pasos:
- Crearemos una aplicación que llamaremos WinExcel.
- Agregaremos una referencia al la biblioteca Microsoft Excel 11.0 Object Library, siguiendo los siguientes pasos.
· Desde el explorador de soluciones seleccionaremos el proyecto con el botón derecho del Mouse y seleccionaremos la opción del meú Agregar Referencias como se muestra a continuación:
· Se abrirá la siguiente interfaz, que permitirá seleccionar la librería que deseamos utilizar:
· Para confirmar si la referencia fue agregada correctamente al proyecto, lo que se debe hacer es ir a la ventana de propiedades del proyecto y verificar si existe como referencia, como se muestra a continuación:
- Renombrar el formulario que se define por defecto con el nombre frmWinExcel.
- Agregaremos tres controles a este formulario, los cuales serán:
DataGridView – Name = DataGridView1
Button1 – Name = Button1, Text = Crear Dataset
Button2 – Name = Button2, Txet = Crear Excel
Quedando de la siguiente forma:- En la definición global de la clase de formulario haremos la siguiente definición de variables:
Dim cnx As New SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=(local)")
Dim ds As New DataSet
- En el método que atiende el evento clic del botón Button1, agregar las siguientes líneas de código:Dim daClientes As New SqlDataAdapter("select CustomerID, CompanyName from Customers", cnx)
daClientes.Fill(ds, "Customers")
Me.DataGridView1.DataSource = ds
Me.DataGridView1.DataMember = "Customers"
Si ejecutamos la aplicación y hacemos clic con el Mouse sobre el botón Button1, que genera el dataset, obtendremos el siguiente resultado:- Detener la aplicación para seguir con las modificaciones para utilizar una plantilla Excel
- En el botón Button2, que genera la llamada a la planilla Excel agregar las siguientes líneas de código:
' Agregar referencia COM a Microsoft Excel 11.0
Dim ExcelApp As New Excel.Application
Dim wkbook As Excel.Workbook
Dim wksheet As Excel.Worksheet
' Haga visible Excel
ExcelApp.Visible = True
'Consiga un libro de trabajo nuevo y seleccione la primera hoja
wkbook = ExcelApp.Workbooks.Add
wksheet = wkbook.ActiveSheet
Dim dt As DataTable = Me.ds.Tables("Customers")
Dim n As Integer
'Agregue los nombres de campo a cada celda
For n = 0 To dt.Columns.Count - 1
wksheet.Cells(1, n + 1).Value = dt.Columns(n).ColumnName
Next
'Itere con las filas y ponga los datos en las células.
For n = 0 To dt.Rows.Count - 1
wksheet.Range("A" & n + 2, "B" & n + 2).Value = _
dt.Rows(n).ItemArray
Next
With wksheet.Range("A1", "B1")
.Font.Bold = True
.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
End With
wksheet = Nothing
wkbook = Nothing
ExcelApp.Quit()
ExcelApp = Nothing
- Al ejecutar nuevamente la aplicación, cargando el datset y luego presionar el botón Button2 que genera la llamada a la planilla de excel y la carga de datos, se podrá observar el siguiente resultado:
No hay comentarios:
Publicar un comentario