gridview導出Execl

#region btnExcel_Click
        /// <summary>
        /// 把數據導出到Excel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnExcel_Click(object sender, EventArgs e)
        {
            if (gridView.Rows.Count > 0)
            {
                gridView.AllowPaging = false; //清除分頁
                string sDateFrom = Convert.ToDateTime(this.txtDayDateFrom.Text).ToString("yyyyMMdd");
                string sDateTo = Convert.ToDateTime(this.txtDayDateTo.Text).ToString("yyyyMMdd");
                BindGridView(sDateFrom, sDateTo);
                StringBuilder sb = new StringBuilder();
                StringWriter sw = new StringWriter(sb);
                HtmlTextWriter htw = new HtmlTextWriter(sw);

                Page page = new Page();
                HtmlForm form = new HtmlForm();

                gridView.EnableViewState = false;

                // Deshabilitar la validación de eventos, sólo asp.net 2
                page.EnableEventValidation = false;

                // Realiza las inicializaciones de la instancia de la clase Page que requieran los dise?adores RAD.
                page.DesignerInitialize();

                page.Controls.Add(form);
                form.Controls.Add(gridView);

                page.RenderControl(htw);

                Response.Clear();
                Response.Buffer = true;
                Response.ContentType = "application/vnd.ms-excel";
                Response.AddHeader("Content-Disposition", "attachment;filename=data.xls");
                Response.Charset = "GB2312";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                Response.Write(sb.ToString());
                Response.End();
                gridView.AllowPaging = true; //清除分頁
                sDateFrom = Convert.ToDateTime(this.txtDayDateFrom.Text).ToString("yyyyMMdd");
                sDateTo = Convert.ToDateTime(this.txtDayDateTo.Text).ToString("yyyyMMdd");
                BindGridView(sDateFrom, sDateTo);
            }
            else
            {
                Response.Write("<script>alert('請先查詢!')</script>");
            }


        }


        #endregion

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章