在griedview中导出为excel [英] export to excel in griedview
本文介绍了在griedview中导出为excel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我所有的人都有一个griedview,我想将其导出到excel.相同的代码
在其他Web应用程序中成功运行,但出现以下错误:
无法修改控件集合,因为控件包含代码块(即<%...%>).
hii all i am having a griedview which i am trying to export to excel.The same code
is running successfully in other web application but is giving following error:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
<pre lang="xml"><div class="GridContainer">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="gridcomplaint" runat="server" AutoGenerateColumns="False" AutoGenerateEditButton="True"
DataKeyNames="ComplaintNo" OnRowCancelingEdit="gridcomplaint_RowCancelingEdit"
OnRowEditing="gridcomplaint_RowEditing" OnRowUpdating="gridcomplaint_RowUpdating"
CellPadding="4" EmptyDataText="No Data Available!!" ForeColor="#333333" GridLines="None"
CellSpacing="2" AllowPaging="True" HorizontalAlign="Center" Width="100%"
onpageindexchanging="gridcomplaint_PageIndexChanging">
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" HorizontalAlign="Center" />
<EmptyDataRowStyle Font-Bold="false" Font-Names="Arial" ForeColor="Red" />
<Columns>
<asp:TemplateField HeaderText="ComplaintNo">
<ItemTemplate>
<%# Eval("ComplaintNo")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="OutletName">
<ItemTemplate>
<%# Eval("OutletName")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="RegionName">
<ItemTemplate>
<%# Eval("RegionName")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<%# Eval("ComplaintStatus")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlstatus" runat="server">
<asp:ListItem>Solved</asp:ListItem>
<asp:ListItem>Pending</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="DocketNo By AMC">
<ItemTemplate>
<%# Eval("DocketNo")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtdocket" runat="server" Text='' <%# Eval("DocketNo")%>''></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" Font-Underline="true" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
<i>You are viewing page
<%=gridcomplaint.PageIndex + 1%>
of
<%=gridcomplaint.PageCount%>
</i>
</ContentTemplate>
</asp:UpdatePanel>
</div>
我写的代码是:
the code i have written is:
string attachment = "attachment; filename=ForwardComplaint.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
// Create a form to contain the grid
HtmlForm frm = new HtmlForm();
gridcomplaint.Parent.Controls.Add(frm);
frm.Attributes["runat"] = "server";
frm.Controls.Add(gridcomplaint);
frm.RenderControl(htw);
//GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
推荐答案
您也可以将数据导出到客户端的excel(只要您没有要实现的服务器端特定逻辑).这是链接.
You can export your data to excel at client side as well (as long as you have no server-side-specific logic to be implemented). Here is the link.
这篇关于在griedview中导出为excel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文