将Gridview数据导出到excel

   public void ExportData(GridView obj)
    {

        try
        {
            obj.AllowSorting = false;
            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=" + 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 (Exception ex)
        {
            throw ex;
        }
    }

 

posted @ 2018-09-05 16:25  敌八哥  阅读(246)  评论(0编辑  收藏  举报