将数据库中的表以excel或doc形式保存到客户端

DataTable dt = SQL.OperateSQL.GetDatatable();
        if ( dt != null)
        {
            System.Web.UI.WebControls.DataGrid dgExport = null;
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;
            System.IO.StringWriter strWriter = null;
            System.Web.UI.HtmlTextWriter htmlWriter = null;

            //curContext.Response.ContentType="application/vnd.ms-excel";
            curContext.Response.ContentType = "application/msword";
            curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
            curContext.Response.Charset = "";

            strWriter = new System.IO.StringWriter();
            htmlWriter = new HtmlTextWriter(strWriter);

            dgExport = new DataGrid();
            dgExport.DataSource = dt.DefaultView;
            dgExport.AllowPaging = false;
            dgExport.DataBind();

            dgExport.RenderControl(htmlWriter);
            curContext.Response.Write(strWriter.ToString());
            curContext.Response.End();
        }

首先从数据库中映射至内存中的一张数据表,然后通过浏览器以不同形式的流输出。

原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100653.html