ASP.NET - AYUDA - ENVIAR A EXCEL

   
Vista:

AYUDA - ENVIAR A EXCEL

Publicado por erikur raudi (3 intervenciones) el 17/08/2012 19:31:33
Buen dia.

Encontre el sig código que sirve para enviar el contenido de un GridView a excel desde una página asp, pero no se como aplicarlo ni donde poner el código.

Response.AddHeader("content-disposition", "attatchment,filename=Testeo.xls")
Response.ContentType = "application/vnd.ms-excel"
Response.ContentEncoding = System.Text.Encoding.UTF7
Response.Charset = ""
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
Me.GridView.RenderControl(hw)
Response.Write(tw.ToString)
Response.End()

He intentado poniendolo en un botón dentro del codebehind de vb.net pero no funciona, arroja mensajes de error que no sé como resolverlos.

Uno de los mensajes que aparece menciona que el control GridView debe estar en una etiqueta form con runat="server".

Despúes de leer un poco para entender esto y modificar el código este es el resultado:

Response.AddHeader("content-disposition", "attatchment,filename=Testeo.xls")
Response.ContentType = "application/vnd.ms-excel"
Response.ContentEncoding = System.Text.Encoding.UTF7
Response.Charset = ""
Me.EnableViewState = False
Dim form1 As New HtmlForm
Controls.Add(form1)
Me.Page.Controls.Add(form1)
Me.form1.Controls.Add(GridView)
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
Me.form1.RenderControl(hw)
Response.Write(tw.ToString)
Response.End()

Pero aqui también aparece una excepción que menciona que sólo se puede llamar a RegisterForEventValidation durante Render(). Pero no entiendo de que se trata.
------------

Pues bien esa es mi problemática no sé que estoy haciendo mal o en donde debo de poner este código o si tengo que configurar alguna característica o importar algún Namespace adicional a System.Web.Ui, System.Data, Syste.Data.OleDb, System.IO.StreamReader.

Gracias por su ayuda.
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