Foros del Web » Programación para mayores de 30 ;) » .NET »

Exportar DataGridView a cualquier hoja de cálculo

Estas en el tema de Exportar DataGridView a cualquier hoja de cálculo en el foro de .NET en Foros del Web. Que tal, quisiera saber si alguien sabe como puedo exportar el contenido de un DataGridView de visual basic 2005 a cualquier hoja de cálculo (Excel, ...
  #1 (permalink)  
Antiguo 26/10/2009, 13:55
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 1
Exportar DataGridView a cualquier hoja de cálculo

Que tal, quisiera saber si alguien sabe como puedo exportar el contenido de un DataGridView de visual basic 2005 a cualquier hoja de cálculo (Excel, lotus, calc, etc.) asi como tambien a word y pdf, espero puedan ayudarme.

Gracias.
  #2 (permalink)  
Antiguo 30/10/2009, 13:50
Avatar de eledgarr  
Fecha de Ingreso: octubre-2008
Ubicación: La ciudad de la esperanza
Mensajes: 133
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Exportar DataGridView a cualquier hoja de cálculo

Si alguien te contesta me podrias pasar la información
__________________
Si te sirve lo que te escribo regalame un karma positivo
-----------------------------------------------------------------------
Estoy aqui no por que conozco mucho, estoy para ignorar menos
  #3 (permalink)  
Antiguo 02/11/2009, 07:16
 
Fecha de Ingreso: agosto-2005
Mensajes: 33
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Exportar DataGridView a cualquier hoja de cálculo

No es tan simple como creo te imaginas, hay que manipular la hoja de excel desde el mismo codigo de tu aplicasión, para definir, tipo de letra tamaño, color, ancho de columnas, saltos de pagina, etc, etc.

Si usaras reportes tipo crystal report ahi si que tienes la opción a exportar de forma mas sencilla, pero claro esto ya tiene su coste

Busca sobre Microsoft.Office.Interop

un ejemplo sencillo para qu ete hagas una idea, aqui se genera una hoja de excel agregando los datos de la "columna1" de un datagridview1

Código:
Private Sub GeneraExcel()

 Dim xl As New Microsoft.Office.Interop.Excel.Application
        Dim wb As Microsoft.Office.Interop.Excel.Workbook = xl.Workbooks.Add(System.Reflection.Missing.Value)
        Dim ws As Excel.Worksheet

        ws = wb.ActiveSheet

        With xl.Cells(1, 1)
            .value = "Columna1"
            .Font.ColorIndex = 2
            .Borders.ColorIndex = 2
            .Interior.ColorIndex = 16
            .Font.Bold = True
            .Font.Size = 10
            .Borders.ColorIndex = 2
        End With

 Dim ran As Excel.Range
        Dim letra As Double = 10

        For i As Integer = 0 To Datagridview1.Rows.Count - 1

            Dim lin As Integer = i + 2

            ran = ws.Range("A" & lin & "")
            ran.Value = Datagridview1.Rows(i).Cells("Columna1").Value
            ran.Font.Size = letra

        Next

wb.SaveAs("C:\ReporteExcel.xls")


        Dim Resp As String = MsgBox("¿Desea imprimir el informe de inventario?", MsgBoxStyle.OkCancel, "Confirmar impresión")
        If Resp = vbOK Then
            ws.PrintOut()
        End If

        wb.Close()
        xl.Quit()

        ws = Nothing
        wb = Nothing
        xl = Nothing

End Sub
Esto para Excel, para pdf, y demas formatos hay que usar diferentes referencias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:04.