通过GridView导出Excel

会有一股神秘感。 提交于 2020-03-10 03:28:35

protected void ToExcel(GridView gv,string name) {
            Response.Clear();
            Response.Buffer = true;
            Response.Charset = "GB2312";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + name + ".xls");
            // 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
            gv.RenderControl(oHtmlTextWriter);
            Response.Output.Write(oStringWriter.ToString());
            Response.Flush();
            Response.End();
        }

        public override void VerifyRenderingInServerForm(Control control)
        {

        }
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Cells[1].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");
            }
        }


        protected void btnToExcel_Click(object sender, EventArgs e)
        {
            if (gvStat.Rows.Count > 0 && gvStat.Visible == true) {
                ToExcel(gvStat, "from " + ViewState["StartDate"].ToString() + " to " + ViewState["EndDate"].ToString());
            }
            else if (gvUser.Rows.Count > 0 && gvUser.Visible == true) {
                ToExcel(gvUser, "from " + ViewState["StartDate"].ToString() + " to " + ViewState["EndDate"].ToString());
            }
        }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!