Asp.net中把DataTable或DataGrid导出为Excel

  /**/
  
/// <summary> 
        
/// 把DataTable内容导出伟excel并返回客户端 
        
/// </summary> 
        
/// <param name="dgData">待导出的DataTable</param> 
        
/// 创 建 人:陈文凯 
        
/// 创建日期:2005年10月08日 
        
/// 修 改 人: 
        
/// 修改日期: 
        public static void DataTable2Excel(System.Data.DataTable dtData) 
        { 
            System.Web.UI.WebControls.DataGrid dgExport 
= null
            
// 当前对话 
            System.Web.HttpContext curContext = System.Web.HttpContext.Current; 
            
// IO用于导出并返回excel文件 
            System.IO.StringWriter strWriter = null
            System.Web.UI.HtmlTextWriter htmlWriter 
= null
 
            
if (dtData != null
            { 
                
// 设置编码和附件格式 
                curContext.Response.ContentType = "application/vnd.ms-excel"
                curContext.Response.ContentEncoding 
=System.Text.Encoding.UTF8; 
                curContext.Response.Charset 
= ""
                 
                
// 导出excel文件 
                strWriter = new System.IO.StringWriter(); 
                htmlWriter 
= new System.Web.UI.HtmlTextWriter(strWriter); 
 
                
// 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid 
                dgExport = new System.Web.UI.WebControls.DataGrid(); 
                dgExport.DataSource 
= dtData.DefaultView; 
                dgExport.AllowPaging 
= false
                dgExport.DataBind(); 
 
                
// 返回客户端 
                dgExport.RenderControl(htmlWriter);     
                curContext.Response.Write(strWriter.ToString()); 
                curContext.Response.End(); 
            } 
        } 

转自:http://chwkai.cnblogs.com/archive/2005/10/08/250426.html
Asp.net中把DataTable或DataGrid导出为Excel
posted @ 2007-06-14 01:23  shiningrise  阅读(520)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css