Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/07/2010, 08:24
Ka0stj
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Exportar a excel(ayuda)

Hola xrojas

Yo utilizo la siguiente función que encontre en algún sitio web y funciona a la perfección.

Código vb:
Ver original
  1. Function GridAExcel(ByVal ElGrid As DataGridView) As Boolean
  2.  
  3.         'Creamos las variables
  4.        Dim exApp As New Microsoft.Office.Interop.Excel.Application
  5.         Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
  6.         Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
  7.  
  8.  
  9.         Try
  10.             'Añadimos el Libro al programa, y la hoja al libro
  11.            exLibro = exApp.Workbooks.Add
  12.             exHoja = exLibro.Worksheets.Add()
  13.  
  14.             ' ¿Cuantas columnas y cuantas filas?
  15.            Dim NCol As Integer = ElGrid.ColumnCount
  16.             Dim NRow As Integer = ElGrid.RowCount
  17.  
  18.             'Aqui recorremos todas las filas, y por cada fila todas las columnas y vamos escribiendo.
  19.            For i As Integer = 1 To NCol
  20.                 exHoja.Cells.Item(1, i) = ElGrid.Columns(i - 1).Name.ToString
  21.                 'exHoja.Cells.Item(1, i).HorizontalAlignment = 3
  22.            Next
  23.  
  24.             For Fila As Integer = 0 To NRow - 1
  25.                 For Col As Integer = 0 To NCol - 1
  26.                     exHoja.Cells.Item(Fila + 2, Col + 1) = ElGrid.Rows(Fila).Cells(Col).Value
  27.                 Next
  28.             Next
  29.             'Titulo en negrita, Alineado al centro y que el tamaño de la columna se
  30.            'ajuste al texto
  31.            exHoja.Rows.Item(1).Font.Bold = 1
  32.             exHoja.Rows.Item(1).HorizontalAlignment = 3
  33.             exHoja.Columns.AutoFit()
  34.  
  35.  
  36.             'Aplicación visible
  37.            exApp.Application.Visible = True
  38.  
  39.             exHoja = Nothing
  40.             exLibro = Nothing
  41.             exApp = Nothing
  42.  
  43.         Catch ex As Exception
  44.             MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
  45.             Return False
  46.         End Try
  47.  
  48.         Return True
  49.  
  50.     End Function