西安软件公司Excel数据导出方案代码
日期:2011/1/3  发布人:润宇软件  浏览量:103
 

1、DataTable导出Excel

public static void ExportExcel(string fileName, DataTable dataSource)  
        {  
            System.Web.UI.WebControls.GridView dgExport = null;  
            //当前对话   
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;  
            //IO用于导出并返回excel文件   
            System.IO.StringWriter strWriter = null;  
            System.Web.UI.HtmlTextWriter htmlWriter = null;  
 
            if (dataSource != null)  
            {  
                //设置编码和附件格式   
                curContext.Response.Clear();  
                curContext.Response.Buffer = true;  
                //System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8)作用是方式中文文件名乱码  
                curContext.Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls");  
                curContext.Response.ContentType = "application/vnd.ms-excel";  
                //解决输出的内容为乱码问题  
                curContext.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");  
 
                //导出Excel文件   
                strWriter = new System.IO.StringWriter();  
                htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);  
 
                //为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的GridView   
                dgExport = new System.Web.UI.WebControls.GridView();  
                dgExport.DataSource = dataSource;  
                dgExport.AllowPaging = false;  
                dgExport.DataBind();  
 
                //下载到客户端   
                dgExport.RenderControl(htmlWriter);  
                curContext.Response.Write(strWriter.ToString());  
                curContext.Response.End();  
            }  
        } 


2、gridview 导出Excel 

public static void ExportExcel(string fileName, GridView gvMain)  
        {  
            //当前对话   
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;  
            //IO用于导出并返回excel文件   
            System.IO.StringWriter strWriter = null;  
            System.Web.UI.HtmlTextWriter htmlWriter = null;  
 
            if (gvMain.DataSource != null)  
            {  
                //设置编码和附件格式   
                curContext.Response.Clear();  
                curContext.Response.Buffer = true;  
                //System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8)作用是方式中文文件名乱码  
                curContext.Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls");  
                curContext.Response.ContentType = "application/vnd.ms-excel";  
                //解决输出的内容为乱码问题  
                curContext.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");  
 
                //导出Excel文件   
                strWriter = new System.IO.StringWriter();  
                htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);  
 
 
                //下载到客户端   
                gvMain.RenderControl(htmlWriter);  
                curContext.Response.Write(strWriter.ToString());  
                curContext.Response.End();  
            }  
        }