tengo el siguiente codigo que cogie de otro hilo y que lo intento emplear para pasar de un datagrid a Excel.
Código:
El codigo se ejecuta cuando pulsas un boton y el problema es que me tira este error en la linea GridView1.RenderControl(htmlWrite);Response.Clear(); Response.AddHeader("content-disposition", "attachment;filename=FileName.xls"); Response.Charset = ""; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = "application/vnd.xls"; System.IO.StringWriter stringWrite = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); GridView1.RenderControl(htmlWrite); Response.Write(stringWrite.ToString()); Response.End();
El control 'GridView1' de tipo 'GridView' debe colocarse dentro de una etiqueta de formulario con runat=server.
Como no controlo mucho la parte de .aspx sino que lo mio es C# y poco, me podrïas ayudar??
El código del botón y del datagidview en .aspx es:
Código HTML:
<asp:Button ID="Button3" runat="server" onclick="Button3_Click" Text="Exportar a Excel" <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="Fecha" DataFormatString="{0:yy-MM-dd/ hh:mm.ss}" HeaderText="Fecha" SortExpression="Fecha" /> <asp:BoundField DataField="Presion" HeaderText="Presion" SortExpression="Presion" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:cnxIbercoBoyas %>" SelectCommand="SELECT [Fecha], [Presion], [Temperatura], [Conductividad], [Salinidad], [SatuOxigeno], [Oxigeno], [pH], [PotencialReductor], [Clorofila], [Turbidez], [Radiacion], [Transmitancia] FROM [MedicionSeparadaFiltrada] ORDER BY [Fecha]"> </asp:SqlDataSource>