DataTable: 从数据库查询数据,导出Excel表格

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tsoTeo/article/details/79070670

导出代码

	/// <summary>
        /// 导出Excel
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="ExportFileName"></param>
        protected void ExcelExport(DataTable dt, string ExportFileName)
        {
            DataGrid dgExcel = new DataGrid();
            dgExcel.DataSource = dt;
            dgExcel.DataBind();

            HttpContext.Current.Response.Charset = "GB2312";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=GB2312\">");

            string dateStr = DateTime.Now.ToString("yyyyMMddHHmmss");
            string fileName = System.Web.HttpUtility.UrlEncode(ExportFileName + "-" + dateStr, System.Text.Encoding.UTF8);

            Response.AppendHeader("content-disposition", "attachment;filename=\"" + fileName + ".xls\"");
            this.EnableViewState = false;

            StringWriter sw = new StringWriter();
            HtmlTextWriter htmTextWriter = new HtmlTextWriter(sw);
            dgExcel.RenderControl(htmTextWriter);
            Response.Write(sw);
            Response.End();

        }
调用代码
	protected void btnExcel_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            ClsDB clsd = new ClsDB();
            string sqlstr = "select * from educationinfo where isdelete = 0";
            dt = clsd.GetDataTable(sqlstr);
            if (dt.Rows.Count == 0)
                Response.Write("<script>alert('没有数据,不导出!');</script>");
            else
            {
                //导出excel  
                ExcelExport(dt, "学历信息");
            }  
        }


猜你喜欢

转载自blog.csdn.net/tsoTeo/article/details/79070670