首页 > 编程 > C# > 正文

C#导出GridView数据到Excel文件类实例

2020-01-24 02:06:11
字体:
来源:转载
供稿:网友

本文实例讲述了C#导出GridView数据到Excel文件类。分享给大家供大家参考。具体如下:

这段C#代码自定义了一个封装类,用于将GridView数据导出到Excel文件

using System;using System.Web;using System.Web.UI;using System.IO;using System.Web.UI.WebControls;namespace DotNet.Utilities{  public class ExportExcel  {    protected void ExportData(string strContent, string FileName)    {      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><meta http-equiv=Content-Type content=/"text/html; charset=utf-8/">");      HttpContext.Current.Response.Write(strContent);      HttpContext.Current.Response.Write("</body></html>");      // 停止页面的执行      //Response.End();    }    /// <summary>    /// 导出Excel    /// </summary>    /// <param name="obj"></param>    public void ExportData(GridView obj)    {      try      {        string style = "";        if (obj.Rows.Count > 0)        {          style = @"<style> .text { mso-number-format:/@; } </script> ";        }        else        {          style = "no data.";        }        HttpContext.Current.Response.ClearContent();        DateTime dt = DateTime.Now;        string filename = 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");        StringWriter sw = new StringWriter();        HtmlTextWriter htw = new HtmlTextWriter(sw);        obj.RenderControl(htw);        HttpContext.Current.Response.Write(style);        HttpContext.Current.Response.Write(sw.ToString());        HttpContext.Current.Response.End();      }      catch      {      }    }  }}

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表