Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/11/2008, 05:50
Avatar de mdavila
mdavila
 
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 10 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