在griedview中导出为ex​​cel [英] export to excel in griedview

查看:94
本文介绍了在griedview中导出为ex​​cel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我所有的人都有一个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中导出为ex​​cel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆