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

8 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
        End Try
    End Function
Espero que os sirva de ayuda.
Saludos



¿Quieres ganar dinero sin hacer nada?

Registrate y podras conseguir dinero solo por recibir emails, practicamente sin hacer nada, no te lo pienses
Pincha aqui para registrarte en CLICXTI

8 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
Publicar un comentario

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