• 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
                {
                }
            }
        }
    }
    //该代码片段来自于: http://www.sharejs.com/codes/csharp/8624
  • 相关阅读:
    Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
    XML学习笔记(2)--dom4j操作XML
    坦克大战(版本2.5-版本2.9)
    坦克大战(版本1.7-版本2.4)
    坦克大战(版本1.0-版本1.6)
    坦克大战(版本0.1-版本0.9)
    JavaSE聊天室
    HTML+CSS+JS学习总结
    JDBC学习笔记(10)——调用函数&存储过程
    VS工程的相对路径写法
  • 原文地址:https://www.cnblogs.com/wordgao/p/4510957.html
Copyright © 2020-2023  润新知