sábado, 6 de noviembre de 2010

Vb ASP Exporta Datagrid a Excel

 

El escenario es: Una página web ASP desarrollada en Visual Studio 2008 (en este caso) y usando VB como lenguaje , la cual tiene un reporte en pantalla con un DATAGRID (gridview) dividido en Multipage (enable paging activado) como el siguiente
image
Aquí agregamos un botón con el siguiente código:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    GridView1.AllowPaging = False
    GridView1.DataBind()
    Response.ContentType = "application/vnd.ms-excel"
    Response.Charset = ""
    Me.EnableViewState = False
    Dim stringWriter As New System.IO.StringWriter()
    Dim htmlWriter As New System.Web.UI.HtmlTextWriter(stringWriter)
    GridView1.RenderControl(htmlWriter)
    Response.Write(stringWriter.ToString())
    Response.End()
End Sub


Al presionar dicho botón, los datos que estén en el DataGrid se van a exportar a Excel y se va a abrir el archivo correspondiente en la misma ventana del Explorer con una vista como la siguiente
image

Para guardar dicho archivo usar el menú de guardar y ahí viene ya como XLS.

En el código, la parte siguiente

GridView1.AllowPaging = False

GridView1.DataBind()

Es importante ya que nos permite que se quite el paginado (multiples páginas) del grid y se exporte al archivo de excel por completo, SINO se colocan estas dos líneas de código, únicamente exporta la parte de datos que el grid esté mostrando en ese momento.
Esto funciona así y sin problemas.
Para C# es similar, con la estructura de funciones correspondiente.
Saludos.

No hay comentarios:

Publicar un comentario