gridview导出到excel

   public static void gvexcel(GridView grv, string strcells)
    {

        string style = @"<style> .text { mso-number-format:\@; } </script> ";//解决0缺失问题
        StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter(sb);
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        string fileName;
        #region 获得excel文件名称
        string year = DateTime.Now.Year.ToString();
        string month = DateTime.Now.Month.ToString();
        if (month.Length < 2) { month = "0" + month; }
        string day = DateTime.Now.Day.ToString();
        if (day.Length < 2) { day = "0" + day; }
        string hour = DateTime.Now.Hour.ToString();
        if (hour.Length < 2) { hour = "0" + hour; }
        string minute = DateTime.Now.Minute.ToString();
        if (minute.Length < 2) { minute = "0" + minute; }
        string second = DateTime.Now.Second.ToString();
        if (second.Length < 2) { second = "0" + second; }
        fileName = year + month + day + hour + minute + second;
        #endregion
        fileName += ".xls";

         Page page = new Page();
         page.EnableEventValidation = false;
         page.DesignerInitialize();
          HtmlForm form = new HtmlForm();
         page.Controls.Add(form);
         grv.AllowPaging = false;
         grv.AllowSorting = false;
         grv.EnableViewState = true;
         form.Controls.Add(grv);
         page.RenderControl(htw);

        //grv.RenderControl(htw);

        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.Buffer = true;
        HttpContext.Current.Response.ContentType = "applicationnd.ms-excel";
        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename="+fileName+"");
        //HttpContext.Current.Response.Charset = "UTF-8";
        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//解决导出到Excel2007乱码问题
        HttpContext.Current.Response.Write(style);
        HttpContext.Current.Response.Write(sb.ToString());
        HttpContext.Current.Response.End();
    }

gridview导出到excel

时间: 2024-08-04 17:31:17

gridview导出到excel的相关文章

DevExpress GridControl GridView 导出到 Excel 类

说明: 1>GridView 导出到 Excel (如果分页,只导出当前页数据) 2>GridView 导出到 Excel 3>方法2可以参考DataTable 导出到 Excel 自定义类如下: #region GridView 导出到 Excel Method First /// <summary> /// GridView 导出到 Excel (如果分页,只导出当前页数据) /// </summary> /// <param name="gv

GridView导出成Excel字符&quot;0&quot;丢失/数字丢失的处理方式 收藏

GridView导出成Excel字符"0"丢失/数字丢失的处理方式 收藏 GridView 导出成Excel文件,这个代码在网上比较多.但是发现存在一个问题,导出的数据中如果有"012457890"的内容,用Excel打开后就变成 了"12457890",少了前面的0;原因是Excel把它当作数字来格式化了,就把"0"给去掉了.   解决思路:在Excel中作一个包含有"012457890"的内容,设定单元

将Gridview导出到Excel

GridViewToExcel(EdceExcelGV, "application/ms-exce","xxxxxx表"); protected void GridViewToExcel(Control ctrl, string FileType, string FileName) { /*Response.Charset = "GB2312"; Response.ContentEncoding = Encoding.UTF8; HttpCont

扩展GridView导出Excel功能

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Runtime.CompilerServices;using System.Text;using System.Web;using System.Web.Compilation;using System.Web.UI;using System.Web.UI.WebControls; namespace Web{ 

将GridView数据直接导出为EXCEL(保留样式),适用GV不分页的情况

Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; EnableViewState = false; System.IO.StringWriter tw = new System.IO.StringWriter()

C# GridView 导出Excel表

出错1:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内解决方案:在后台文件中重载VerifyRenderingInServerForm方法,如:public override void VerifyRenderingInServerForm(Control control){} 出错2:只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation c

GridView导出Excel的超好样例

事实上网上有非常多关于Excel的样例,可是不是非常好,他们的代码没有非常全,读的起来还非常晦涩.经过这几天的摸索,最终能够完毕我想要导出报表Excel的效果了.以下是我的效果图. 一.前台的页面图 GridView的第一页的内容 GridView第二页的内容: 大家可能遇到这样的情况,就是这个时候导出Excel的时候,打开Excel的时候发现GridView的第二页的内容却没有导出到Excel表里面.事实上解决这样的情况,非常easy,仅仅要在导出之前,把Gridview的设置分页设置为Fla

GridView 导出Excel

protected void btndaochu_Click(object sender, EventArgs e)        {            GetList();//读取GridView 数据  这里就不写了            Response.Clear();            Response.Charset = "utf-8";            Response.ContentEncoding = System.Text.Encoding.GetEn

IE下GridView导出Excel无反应

使用GridView导出Excel的方法把GridView中的内容导出为Excel: /// <summary> /// 将网格数据导出到Excel /// </summary> /// <param name="ctrl">网格名称(如GridView1)</param> /// <param name="FileType">要导出的文件类型(Excel:application/ms-excel)<