gridview保存Excel文件遇到的问题
来源:互联网 发布:飞行棋在线软件 编辑:程序博客网 时间:2024/06/05 05:28
1。Gridview1必须放在具有runat=server的窗体标记内
解决方法:在程序相应位置加上以下代码中绿色部分代码即可。
//按钮点击事件
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();
DownloadExcelFlag = true;
Response.Buffer = true;
Response.Charset = "GB2312"; //设置了类型为中文防止乱码的出现
Response.AppendHeader("Content-Disposition", "attachment;filename=" + TextBox1.Text + ".xls"); //定义输出文件和文件名
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
}
bool DownloadExcelFlag = false;
public override void RenderControl(HtmlTextWriter writer)
{
if (DownloadExcelFlag)
this.GridView1.RenderControl(writer); //仅仅输出GridView1
else
base.RenderControl(writer);
}
public override void VerifyRenderingInServerForm(Control control)
{
if (!DownloadExcelFlag)
base.VerifyRenderingInServerForm(control);
}
2.若加上以上部分还不能正常运行,并提示如下错误:
只能在执行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" %>
- gridview保存Excel文件遇到的问题
- 关于 c# 操作 Excel文件中遇到的保存出错问题
- vim保存文件遇到的一些问题
- GridView导出成Excel遇到的问题整理
- 关于保存为Excel文件的问题
- python读取excel文件遇到的问题
- eclipse cdt + rse文件保存遇到的问题
- eclipse中遇到的JSP文件无法保存问题
- Excel文件的保存格式
- 在用POI读取EXCEL文件时遇到的问题
- Python读取Excel文件遇到的编码问题(pycharm)
- C#调用WPS操作Excel文件遇到的问题
- java写excel文件及遇到的问题
- VC操作Excel文件保存问题
- VC操作Excel文件保存问题
- VC操作Excel文件保存问题
- aspx 通用的GridView 导出 Excel--保存或打开
- aspx 通用的GridView 导出 Excel--保存或打开
- 第02章 IntelliJ IDEA起步 熟悉IntelliJ IDEA编辑器 07 锁定和解锁选项卡
- magento -- 使用translate.csv来修改翻译
- 大功率
- TNS-01155: 在 LISTENER.ORA 中指定的 SID_LIST_LISTENER 参数不正确
- 开启XP 远程桌面
- gridview保存Excel文件遇到的问题
- JABC连接数据库
- Application.ThreadException 以及 AppDomain.UnhandledException真强!
- 第02章 IntelliJ IDEA起步 熟悉IntelliJ IDEA编辑器 08 分割和合并选项卡
- 编译错误 fatal error C1083: Cannot open precompiled header file
- 第02章 IntelliJ IDEA起步 熟悉IntelliJ IDEA编辑器 09 使用选项卡组编辑多个文件
- c#
- Android基础UI编程(1)
- 第02章 IntelliJ IDEA起步 熟悉IntelliJ IDEA编辑器 10 增加文档到收藏夹