• 下载GridView(保存为Excel文件)


    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;
            }
        }


       

  • 相关阅读:
    2014.3.3 图像旋转方法
    2014.2.23 datagridview显示图片的方法
    2016.10.8 文件读取和两种模式写入
    2016.8.11 DataTable合并及排除重复方法
    2016.8.17服务器端数据库用户导入导出方法 expdp和impdp
    2016.8.11 禁用360进程防护功能
    2016.7.27 VS搜索正则表达式,在UltraEdit中可选用Perl正则引擎,按C#语法搜索
    2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生
    delphi之猥琐的webserver实现
    HTTP协议中GET、POST和HEAD的介绍
  • 原文地址:https://www.cnblogs.com/suflowers1700218/p/9101296.html
Copyright © 2020-2023  润新知