现在的位置: 首页 > 综合 > 正文

A util class for DataGrid to Excel [Convert from Internet]

2013年10月13日 ⁄ 综合 ⁄ 共 2099字 ⁄ 字号 评论关闭

using System;

namespace Com.W3oa.Web.Util
{
 public class DataSetToExcel
 {  
  
  public static void Convert(System.Data.DataSet dataSet ,System.Web.HttpResponse response)
  {
   response.Clear();
   response.Charset = "";

   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 dataGrid = new System.Web.UI.WebControls.DataGrid();
   
   dataGrid.DataSource = dataSet.Tables[0];
   
   dataGrid.DataBind();
   
   dataGrid.RenderControl(htmlWrite);
  
   response.Write(stringWrite.ToString());
   response.End();
  }
  
  public static void  Convert(System.Data.DataSet dataSet, System.Int32 tableIndex, System.Web.HttpResponse response)
  {

   if( TableIndex > dataSet.Tables.Count - 1)
   {
    Convert(dataSet, response);
   }
 
   response.Clear();
   response.Charset = "";
  
   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 dataGrid = new System.Web.UI.WebControls.DataGrid();
  
   dataGrid.DataSource = dataSet.Tables[tableIndex];
  
   dataGrid.DataBind();
   
   dataGrid.RenderControl(htmlWrite);
   
   response.Write(stringWrite.ToString());
   response.End();
  }

  public static void Convert(System.Data.DataSet dataSet, System.String tableName, System.Web.HttpResponse response)
  {

   if( dataSet.Tables[TableName] ==null)
   {
    Convert(dataSet, response);
   }

   response.Clear();
   response.Charset = "";
   
   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 dataGrid = new System.Web.UI.WebControls.DataGrid();
   
   dataGrid.DataSource = dataSet.Tables[tableName];
   
   dataGrid.DataBind();
   
   dataGrid.RenderControl(htmlWrite);
   
   response.Write(stringWrite.ToString());
   response.End();
  }
 }
}

抱歉!评论已关闭.