csharp: DataTable export to excel,word,csv etc

来源:互联网 发布:加工中心怎么编程铣面 编辑:程序博客网 时间:2024/04/28 23:30
/// <summary>
       /// 塗聚文修改
       /// </summary>
       /// <param name="dt"></param>
       /// <param name="Response"></param>
       /// <param name="filename"></param>
       public static void Convertword(DataTable dt, HttpResponse Response, string filename)
       {
           Response.Clear();
           Response.AddHeader("content-disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".doc");
           Response.Charset = "utf-8";
           Response.Cache.SetCacheability(HttpCacheability.NoCache);
           Response.ContentType = "application/vnd.word";
           System.IO.StringWriter stringWrite = new System.IO.StringWriter();
           System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
           System.Web.UI.WebControls.GridView dg = new System.Web.UI.WebControls.GridView();
           dg.DataSource = dt;
           dg.DataBind();
           dg.RenderControl(htmlWrite);
           Response.Write(stringWrite.ToString());
           Response.End();
           //HttpContext.Current.ApplicationInstance.CompleteRequest();
 
       }
       /// <summary>
       ///
       /// </summary>
       /// <param name="dt"></param>
       /// <param name="Response"></param>
       /// <param name="filename"></param>
       public static void Convertexcel(DataTable dt, HttpResponse Response, string filename)
       {
 
           Response.Clear();
           Response.AddHeader("content-disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".xls");//
           Response.Charset = "utf-8";
           Response.Cache.SetCacheability(HttpCacheability.NoCache);
           Response.ContentType = "application/vnd.ms-excel";
           System.IO.StringWriter stringWrite = new System.IO.StringWriter();
           System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
           System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();
           dg.DataSource = dt;
           dg.DataBind();
           dg.RenderControl(htmlWrite);
           Response.Write(stringWrite.ToString());
           Response.End();
           //HttpContext.Current.ApplicationInstance.CompleteRequest();
 
       }
       /// <summary>
       ///
       /// </summary>
       /// <param name="dataTable"></param>
       /// <param name="Response"></param>
       /// <param name="filename"></param>
       public static void ConvertCSV(DataTable dataTable, HttpResponse Response, string filename)
       {
 
           Response.Clear();
           Response.Buffer = true;
           Response.AddHeader("content-disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".csv");
           Response.Charset = "utf-8";
           Response.Cache.SetCacheability(HttpCacheability.NoCache);
           Response.ContentType = "Application/x-msexcel";
           StringBuilder sb = new StringBuilder();
           if (dataTable.Columns.Count != 0)
           {
               foreach (DataColumn column in dataTable.Columns)
               {
                   sb.Append(column.ColumnName + ',');
               }
               sb.Append("\r\n");
               foreach (DataRow row in dataTable.Rows)
               {
                   foreach (DataColumn column in dataTable.Columns)
                   {
                       if (row[column].ToString().Contains(",") == true)
                       {
                           row[column] = row[column].ToString().Replace(",","");
                       }
                       sb.Append(row[column].ToString() + ',');
                   }
                   sb.Append("\r\n");
               }
           }
           Response.Write(sb.ToString());
           Response.End();
           //HttpContext.Current.ApplicationInstance.CompleteRequest();
 
       }
本文来自http://www.1314721.com.cn/
0 0
原创粉丝点击