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?
No me sirve
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
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
La firma de tipo de este método no es compatible con interoperabilidad.
a que se debe este error???
Gracias! es el unico codigo que me ha funcionado como yo queria en dias! Mil gracias.
Muchas gracias tu código funciono perfecto.
Gracias, esta opcion sencilla es la que buscaba .... (Y)
Gracias bro, me sirvió !!
¡Muchas gracias! .. Funciona perfectamente agregando la referencia. Saludos
Muchas gracias
Wau por lejos lo mejor que vi. muchas gracias Crack
Publicar un comentario