Foros del Web » Programando para Internet » ASPX (.net) »

Exportar muuuuuchos datos de Gridview a excel

Estas en el tema de Exportar muuuuuchos datos de Gridview a excel en el foro de ASPX (.net) en Foros del Web. hola: mi problema es que quiero exportar muuuuchos registros a excel desde un gridview, cuando son pocos si los muestra en el grid pero si ...
  #1 (permalink)  
Antiguo 26/11/2008, 18:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Exportar muuuuuchos datos de Gridview a excel

hola: mi problema es que quiero exportar muuuuchos registros a excel desde un gridview, cuando son pocos si los muestra en el grid pero si son muchos no digamos 20.000.

intente con lo de paginacion, y funiona pero solo para la primera pagina y no exporta los demas.

puedo exportar tooooodos los datos sin que pagine ??
o puedo paginar y asi desde la primera pagina exportarlos todos ??



lo estoy haciendo en asp.net c#. y si alguien sabe como lo puedo solucionar se lo agradezco mucho. igual gracias por tomarte la molesta de leer esto.
  #2 (permalink)  
Antiguo 27/11/2008, 05:50
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: Exportar muuuuuchos datos de Gridview a excel

Que yo sepa no podes exportar con paginado (bueno si podrias pero seria muy engorroso), lo que te recomiendo es hacer otro gridview en vuelo y a este le das el formato que quieras y sin paginado y es este el que exportas y no el que el cliente esta viendo (obvio que con el mismo resultado no!!!)


'Esto exporta a excel la grilla
Private Sub ExportToExcel()
Dim sb As New StringBuilder()
Dim sw As New StringWriter(sb)
Dim htw As New HtmlTextWriter(sw)
Dim dg As New GridView


dg.AllowPaging = False
dg.ShowFooter = False
dg.PagerSettings.Visible = False
dg.AutoGenerateColumns = True
dg.RowStyle.HorizontalAlign = HorizontalAlign.Left

Dim Page As New Page()
Dim form As New HtmlForm()


'aca llamas al evento que te retorna un DataSet, eso te lo dejo a vos que es muy simple si ya sabes lo que tenes que exportar
dg.DataSource = LlenarParaExcel()
dg.DataBind()

If dg.Rows.Count > 0 Then
Page.EnableEventValidation = False

Page.DesignerInitialize()

Page.Controls.Add(form)
form.Controls.Add(dg)

Page.RenderControl(htw)

Response.Clear()
Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", "attachment;filename=TuPlanilla.xls")
Response.Charset = "UTF-8"
Response.ContentEncoding = Encoding.Default
Response.Write(sb.ToString())
Response.End()
Else
Exit Sub
End If
End Sub
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 03:18.