下载GridView(保存为Excel文件)

本文介绍了一个ASP.NET应用程序中实现Excel文件导出的方法。通过用户控件和事件处理,该示例展示了如何从GridView控件导出数据到Excel文件,并提供了完整的前后台代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

aspx页面前台:(使用用户控件)

 <uc1:DownExcel ID="DownExcel1" runat="server" />

aspx页面后台:

    protected void Page_Load(object sender, EventArgs e)
    {
      
            DownExcel1.myEvent += new EventHandler(BindGV);
            DownExcel1.sFileName = "门店扫码明细表";
            DownExcel1.GridViewName = "GVExcel";
     }

 

用户控件前台:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<script type="text/javascript" language="javascript">
    function showM() {
        $find("popu").show();
    }
</script>

<asp:Button ID="Button1" runat="server" Text="下载" Width="80px" BackColor="#0066FF"
    Font-Bold="True" ForeColor="White" OnClick="Button1_Click"  OnClientClick="showM()"/>
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="Button3"
    BehaviorID="popu" PopupControlID="panModalPopup" BackgroundCssClass="cssModalBackground"
    DropShadow="true" CancelControlID="Image3">
</cc1:ModalPopupExtender>
<asp:Panel ID="panModalPopup" runat="server" Style="display: none">
    <asp:Image ID="Image3" runat="server" ImageUrl="~/Content/Images/Loading1.gif" />
</asp:Panel>

 

 

用户控件后台:

添加引用: using System.Web.UI.WebControls;
                   using System.IO;

    public event EventHandler myEvent;
    public string sFileName;
    public string GridViewName;

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            GridView gv = (GridView)Parent.FindControl(GridViewName);
            Response.Clear();
            string fileName = sFileName;
            Response.AddHeader("content-disposition", "attachment;filename=" + Server.UrlEncode(fileName + ".xls"));
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>");

            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            if (myEvent != null)
                myEvent(this, EventArgs.Empty);

            gv.RenderControl(htmlWrite);

            Response.Write(stringWrite.ToString());
            Response.End();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }


   

转载于:https://www.cnblogs.com/suflowers1700218/p/9101296.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值