Visual Basic.NET - Aporte y pregunta

   
Vista:

Aporte y pregunta

Publicado por Sergio (1 intervención) el 06/08/2009 02:24:36
Hola amigos del foro, aca les dejo un pequeño aporte de como exportar un DataGridView a Excel, lo encontre en una pagina de programacion en Net, pero alguien sabe como puedo llamar a esta Funcion desde un boton de comando?

Function GridAExcel(ByVal ElGrid As DataGridView) As Boolean

'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

Try
'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 = ElGrid.ColumnCount
Dim NRow As Integer = ElGrid.RowCount

'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(1, i) = ElGrid.Columns(i - 1).Name.ToString
'exHoja.Cells.Item(1, i).HorizontalAlignment = 3
Next

For Fila As Integer = 0 To NRow - 1
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 2, Col + 1) = ElGrid.Rows(Fila).Cells(Col).Value
Next
Next
'Titulo en negrita, Alineado al centro y que el tamaño de la columna se ajuste al texto
exHoja.Rows.Item(1).Font.Bold = 1
exHoja.Rows.Item(1).HorizontalAlignment = 3
exHoja.Columns.AutoFit()

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

exHoja = Nothing
exLibro = Nothing
exApp = Nothing

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")
Return False
End Try

Return True

End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Aporte y pregunta

Publicado por P. J. (706 intervenciones) el 06/08/2009 06:01:16
Me imagino que sera asi:

En el formulario donde tienes el dataGridView, en un boton cualquiera, evento clic:

private sub btnExportarGrid_click...............................
if GridAExcel(me.DataGridView1) then
messagebox.show "Exportado con exito."
else
messagebox.show "No se completo operacion."
end if
end sub

Y asi debe ser, gracias por compartir el codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aporte y pregunta

Publicado por Sergio (1 intervención) el 07/08/2009 14:23:05
Hola P.J, agregue la linea de codigo que me pasaste y si funciona correctamente, pude llamar a la Funcion, ahora te queria hacer una pregunta si es que lo sabes, a esa funcion que codigo le tendria que agregar para que tambien me exporte a la planilla de Excel todos los TextBox, los Label y que me muestre como titulo en la planilla el Text del formulario.

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar