C#导出GridView数据到Excel文件类实例
本文实例讲述了C#导出GridView数据到Excel文件类。分享给大家供大家参考。具体如下:
这段C#代码自定义了一个封装类,用于将GridView数据导出到Excel文件
usingSystem; usingSystem.Web; usingSystem.Web.UI; usingSystem.IO; usingSystem.Web.UI.WebControls; namespaceDotNet.Utilities { publicclassExportExcel { protectedvoidExportData(stringstrContent,stringFileName) { FileName=FileName+DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+DateTime.Now.Millisecond.ToString(); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Charset="gb2312"; HttpContext.Current.Response.ContentType="application/ms-excel"; HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.UTF8; //this.Page.EnableViewState=false; //添加头信息,为"文件下载/另存为"对话框指定默认文件名 HttpContext.Current.Response.AddHeader("Content-Disposition","attachment;filename="+FileName+".xls"); //把文件流发送到客户端 HttpContext.Current.Response.Write("<html><head><metahttp-equiv=Content-Typecontent=\"text/html;charset=utf-8\">"); HttpContext.Current.Response.Write(strContent); HttpContext.Current.Response.Write("</body></html>"); //停止页面的执行 //Response.End(); } ///<summary> ///导出Excel ///</summary> ///<paramname="obj"></param> publicvoidExportData(GridViewobj) { try { stringstyle=""; if(obj.Rows.Count>0) { style=@"<style>.text{mso-number-format:\@;}</script>"; } else { style="nodata."; } HttpContext.Current.Response.ClearContent(); DateTimedt=DateTime.Now; stringfilename=dt.Year.ToString()+dt.Month.ToString()+dt.Day.ToString()+dt.Hour.ToString()+dt.Minute.ToString()+dt.Second.ToString(); HttpContext.Current.Response.AddHeader("content-disposition","attachment;filename=ExportData"+filename+".xls"); HttpContext.Current.Response.ContentType="application/ms-excel"; HttpContext.Current.Response.Charset="GB2312"; HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); StringWritersw=newStringWriter(); HtmlTextWriterhtw=newHtmlTextWriter(sw); obj.RenderControl(htw); HttpContext.Current.Response.Write(style); HttpContext.Current.Response.Write(sw.ToString()); HttpContext.Current.Response.End(); } catch { } } } }
希望本文所述对大家的C#程序设计有所帮助。