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