将GridView中的数据导出到Excel / Word中
来源:互联网 发布:韩火火淘宝店模特是谁 编辑:程序博客网 时间:2024/04/29 13:12
前提条件:你的GridView已经能正常显示数据了,不管你是用代码实现的,还是直接绑定数据库实现的。
1、如果你的GridView启动了分页功能,则要先将该功能关闭,即将allowpaging的属性设为false, AllowPaging="false";然后重新调用databind()或者你自己定义的显示函数,确保所有的数据都显示在GridView中,再导完数据之后,记得把allowpaging的属性值改回来。
2、在页面中添加一个"导出"按钮,当点击该按钮时执行导出动作。双击改按钮,编写事件处理函数,添加代码如下:在用到StringWriter类的时候,要在。aspx.cs文件的头部添加命名空间:using System.IO;
protected void Button1_Click(object sender, EventArgs e){ //导出到Excel中(.xls文件) <p> Response.Clear(); Response.Buffer = true; //设置输出流的HTTP字符集 Response.Charset = "GB2312"; //Response.ClearContent(); //Response.AddHeader("content-disposition", "attachment;filename=MyExcel.xls");//设置输出文件类型为excel文件。 //这行代码解决excel表名乱码 Response.AppendHeader("Content-Disposition", "attachment;filename=\"" + HttpUtility.UrlEncode("行车轨迹.xls", System.Text.Encoding.UTF8) + "\"");</p><p> //Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//用这个会出现中文是乱码的情况,所以选用下面这句 Response.ContentEncoding = System.Text.Encoding.UTF8;</p> /* 导出时会弹出对话框让你确认保存位置,默认的文件名为MyExcel2.xls, 你可以选择保存,也可以直接打开 */ Response.ContentType = "application/excel"; /* 如果想将文件导出到word中,则将上面的"MyExcel2.xsl"改成"MyWord.doc", 将"application/excel"改成"application/word" */ StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); GridView1.AllowPaging = false; GridView1.DataBind(); GridView1.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); GridView1.AllowPaging = true;}
3、重写VerifyRenderingInServerForm 函数,这样才能确保运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件;函数的内容可以为空:
public override void VerifyRenderingInServerForm(Control control){ }
4、当出现"只能在执行Render() 的过程中调用 RegisterForEventValidation;"错误时
EnableEventValidation属性是 .NET Framework 2.0 中是新增的属性,默认的情况下该属性的值为true;通过这个新增的功能ASP.NET会检查 POST方法中的所带的参数,如果认为不合法,就会抛出异常。这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据,但是有时也会出现类似上面的错误。
只要禁止这个功能,问题就能得到解决。可以通过以下两种途径解决:
(1)、在Web.Config文件中:在<system.web></system.web>标记中添加如下代码:
<system.web>
<pages enableEventValidation="false"> </pages>
</system.web>
(2)、在具体的.aspx页面的源代码中修改代码,如下:
<%@ Page Language="C#" EnableEventValidation="false" AutoEventWireup="true" CodeFile="GridView_Export_Excel.aspx.cs" Inherits="GridView_Export_Excel" %>
5、gridview导出到excel是aspx文件,一般情况下,迅雷会关联所有下载文件类型
网上说是:把迅雷的监视剪贴板和监视浏览器关闭。再把迅雷退出应该就可以了。
我自己的办法是把迅雷卸了,当然这不是好办法,待解决!!!
- 将GridView中的数据导出到Excel / Word中
- 将GridView中的数据导出到Excel / Word中
- 将GridView中的数据导出到Excel,Word,Html
- GridView数据导出到Word/Excel中
- 将gridview中的数据导出到excel中
- 如何将GridView控件数据导出到word和Excel
- Gridview中的数据导出到excel中
- asp.net 将GridView中的数据导出到Excel
- 将DBGrid中的数据导出到Word和Excel
- 将gridview数据导出到word
- 将GridView控件数据导出到Excel中。
- 将dev gridview中数据原样导出到EXCEL
- 将DBGrid的数据导出到word和excel中
- 将DBGrid的数据导出到word和excel中
- 如何将VB中的数据导出excel,word中去!
- 将 GridView 导出到 Excel 文件中
- 将 GridView 导出到 Excel 文件中
- 将GridView中数据导出为Excel
- ps指令说明
- 关于TChart的几个方法
- intellij与eclipse默认快捷键对比
- android 音乐暂停
- HDU 2112 HDU Today
- 将GridView中的数据导出到Excel / Word中
- 设计模式学习路线(书籍)
- 如何在CSDN博客添加友情链接
- 黑马程序员-OC-类与对象,以及类的基本设计
- 显卡参数简单介绍
- HTML鼠标形状
- 升级不正确导致ORA-27468错误 及闪回区满(ORA-16014)
- Android Training - 使用IntentService执行任务(Lesson 1 - 创建IntentService)
- 如何在网页中屏蔽左右键?