将数据库中的表以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();
        }

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

posted on 2009-10-16 18:57  画一个圆圈  阅读(128)  评论(0编辑  收藏  举报

导航