• C# 导出 数据 到Excel


    /// <summary>
            /// 实现将数据导出至Excel,
            /// 在上面的代码中,我们首先将gridview绑定到指定的数据源中,然后在button1的按钮(用来做导出到EXCEL的)的事件中,写入相关的代码。
            /// 这里使用Response.AddHeader("content-disposition","attachment;filename= exporttoexcel.xls");中的filename来指定将要导出的excel的文件名,
            /// 这里是exporttoexcel.xls。要注意的是,由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为 false,
            /// 然后通过页面流的方式导出当前页的gridview到excel中,最后再重新设置其allowpaging属性。另外要注意的是,要写一个空的VerifyRenderingInServerForm方法(必须写),
            /// 以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件
            /// ****************************************************************
            /// 以下代码部份来自互联网
            /// 导出数据到FileName.xls*****************
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void button1_Click(object sender, EventArgs e)
            {
                Response.Clear();
                Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
                Response.Charset = "gb2312";
                Response.ContentType = "application/vnd.xls";
                System.IO.StringWriter stringWrite = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    
                this.gridview1.AllowPaging = false;
                this.bind();
                this.gridview1.RenderControl(htmlWrite);
    
                Response.Write(stringWrite.ToString());
                Response.End();
                this.gridview1.AllowPaging = true;
                this.bind();
            }

    这些代码写完之后 ,导出 数据时,报错了: 只能在执行 Render() 的过程中调用 RegisterForEventValidation

    于是百度,在对应的页面上,加上EnableEventValidation="false",问题 解决。

    参考相关链接:http://www.ezloo.com/2008/10/render_registerforeventvalidation.html

    原子中的各位亲,如果 发现 有问题,或有更高明的方法,欢迎拍砖!

  • 相关阅读:
    TCP/IP的确认号,序列号和超时重传的学习笔记
    Linux进程的虚拟内存
    Linux内存:物理内存管理概述
    Linux进程: task_struct结构体成员
    Linux进程:管理和调度
    Golang基础(8):go interface接口
    技术管理:团队建设
    从分布式一致性谈到CAP理论、BASE理论
    技术管理:项目管理概要
    [译]深入 NGINX: 为性能和扩展所做之设计
  • 原文地址:https://www.cnblogs.com/duanchen/p/4688677.html
Copyright © 2020-2023  润新知