Funcion para pasar un DataTable a Excel en Visual Basic .NET

13 comentarios
Aqui os dejo una funcion que permite pasar los datos contenidos en un datatable y mostrarlos a Excel en Visual Basic .NET.


Shared Function ExportarDataTableAExcel(ByVal Titulo As String,
ByVal Tabla As DataTable) As Boolean
Try
'Creamos las variables
Dim exApp As New Microsoft.Office.Interop.Excel.Application
Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
Dim filaTabla As System.Data.DataRow

'Añadimos el Libro al programa, y la hoja al libro
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()

' ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = Tabla.Columns.Count
Dim NRow As Integer = Tabla.Rows.Count

'Aqui recorremos todas las filas, y por cada fila todas las columnas y vamos escribiendo.
For i As Integer = 1 To NCol
exHoja.Cells.Item(3, i) = Tabla.Columns(i - 1).Caption
'exHoja.Cells.Item(1, i).HorizontalAlignment = 3
Next

For Fila As Integer = 0 To NRow - 1
filaTabla = Tabla.Rows(Fila)
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 4, Col + 1) = filaTabla(Col)
Next
Next

'Titulo en negrita, Alineado al centro y que el tamaño de la columna se ajuste al texto
exHoja.Rows.Item(3).Font.Bold = 1
exHoja.Rows.Item(3).HorizontalAlignment = 3
exHoja.Columns.AutoFit()

'Aplicación visible
exApp.Application.Visible = True

exHoja = Nothing
exLibro = Nothing
exApp = Nothing

ExportarDataTableAExcel = True
Catch ex As Exception
MessageBox.Show(" ERROR : " & ex.Message & " --UtilForm.ExportarDataTableAExcel", "Administrador", MessageBoxButtons.OK, MessageBoxIcon.Error)
ExportarDataTableAExcel = False
Finally
Tabla = Nothing
End Try
End Function


Espero que os sirva de ayuda. Saludos


13 comentarios:

Error al crear la primeras variables.¿Se puede poner en un botón?

12 de marzo de 2013, 10:59 comment-delete

No me sirve

12 de marzo de 2013, 10:59 comment-delete

Quiero hacer esto con visual net 2010 .Pulsar el botón que comento, cuando tenga los datos en el datagridview(por cierto es un datatable) y luego hacer eso para pasar a excell.
No sale

12 de marzo de 2013, 11:01 comment-delete

Les sale error con las variables porque no han agregado la referencia

- Clic derecho al proyecto
- Agregar Referencia
- Pestaña .NET
- Seleccionar Microsoft.Office.Interop.Excel
- Agregar

y listo, les funciona

muy bueno el codigo, se agradece

Omar
22 de marzo de 2013, 17:32 comment-delete

La firma de tipo de este método no es compatible con interoperabilidad.
a que se debe este error???

Anónimo
3 de febrero de 2014, 15:19 comment-delete

Gracias! es el unico codigo que me ha funcionado como yo queria en dias! Mil gracias.

Anónimo
16 de febrero de 2014, 20:35 comment-delete

Muchas gracias tu código funciono perfecto.

Anónimo
2 de junio de 2015, 18:31 comment-delete

Gracias, esta opcion sencilla es la que buscaba .... (Y)

Anónimo
27 de septiembre de 2017, 23:13 comment-delete
Este comentario ha sido eliminado por el autor.
24 de enero de 2018, 3:24 comment-delete

Gracias bro, me sirvió !!

26 de octubre de 2018, 7:37 comment-delete

¡Muchas gracias! .. Funciona perfectamente agregando la referencia. Saludos

6 de marzo de 2019, 12:42 comment-delete

Muchas gracias

Anónimo
20 de noviembre de 2019, 7:32 comment-delete

Wau por lejos lo mejor que vi. muchas gracias Crack

12 de octubre de 2021, 10:12 comment-delete
Publicar un comentario

Related Posts Plugin for WordPress, Blogger...
Copyright 2011 INFORMATICUCHO.
Blogger Template by Noct.