从GridView把数据导成Excel会出现的问题
2012-01-09 21:36
176 查看
1.当用GridView导出Execl的时候,会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示。
解决方法:EnableEventValidation = "false" 加上这个
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="InfoSortSel.aspx.cs" EnableEventValidation = "false" Inherits="YuankangThesaurus_InfoManage_InfoSortSel" %>
2.必须放在具有 runat=server 的窗体标记内。
解决方法:加上
public override void VerifyRenderingInServerForm(Control control)
{
}
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();//清除缓冲区流中所有内容的输出
Response.Buffer = true;//获取和设置一个值,该值指出是否缓冲输出,并在完成处理整个响应之后将其发送
Response.Charset = "GB2312";//获取和设置输出流的http字符集;
Response.AppendHeader("Content-Disposition", "attachment;filename = FileName.xls");//将http头添加到输出流
//如果设置成GB2312导出的将是乱码
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件
System.IO.StringWriter oStringWriter = new StringWriter();//实现一个用于将信息写入字符串 TextWriter 该信息存储在基础StringBuilder 中
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);//将标记字符和文本写入到asp.net控件输出流
this.gv_Repository_PathologyInfo.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();//向客户端发送所有输出流
Response.End();//结束
}
public override void VerifyRenderingInServerForm(Control control)
{
}
解决方法:EnableEventValidation = "false" 加上这个
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="InfoSortSel.aspx.cs" EnableEventValidation = "false" Inherits="YuankangThesaurus_InfoManage_InfoSortSel" %>
2.必须放在具有 runat=server 的窗体标记内。
解决方法:加上
public override void VerifyRenderingInServerForm(Control control)
{
}
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();//清除缓冲区流中所有内容的输出
Response.Buffer = true;//获取和设置一个值,该值指出是否缓冲输出,并在完成处理整个响应之后将其发送
Response.Charset = "GB2312";//获取和设置输出流的http字符集;
Response.AppendHeader("Content-Disposition", "attachment;filename = FileName.xls");//将http头添加到输出流
//如果设置成GB2312导出的将是乱码
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件
System.IO.StringWriter oStringWriter = new StringWriter();//实现一个用于将信息写入字符串 TextWriter 该信息存储在基础StringBuilder 中
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);//将标记字符和文本写入到asp.net控件输出流
this.gv_Repository_PathologyInfo.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();//向客户端发送所有输出流
Response.End();//结束
}
public override void VerifyRenderingInServerForm(Control control)
{
}
相关文章推荐
- 将GridView中的数据导出到Excel中下载并且解决乱码的问题
- 关于从GridView表中导出数据到Excel表中,身份证或者长度过长的数据在Excel中无法正常显示的问题
- asp.net中将gridview数据导出成Excel问题解决
- 关于从GridView表中导出数据到Excel表中,身份证或者长度过长的数据在Excel中无法正常显示的问题
- GridView导出数据到excel数字变为科学记数法的问题的解决办法
- GridView导出数据到excel数字变为科学记数法的问题的解决办法
- datagrid gridview 倒出数据为 excel 时,编号问题
- asp.net<Web版> ---GridView 数据导出到excel表,系列问题<一>---导出的Excel文件格式与文件扩展名指定的格式不一致
- 解决C# 导出gridview中的数据到excel 时, 全数字时 0 被去掉的问题
- 将GridView中的数据导出到Excel中下载并且解决乱码的问题
- GridView导出数据到excel数字变为科学记数法的问题的解决办法
- json.parse()使用过程中,肯能会出现的问题(Excel表中数据也存在类似问题)
- 读取Excel数据到GridView相关问题(待完善)
- GridView导出数据到excel数字变为科学记数法的问题的解决办法
- gridview导出数据到excel
- Asp.net Gridview 导出到Excel【解决编码乱码问题】
- 实现GridView中的数据的打印和导出到Excel
- 解决SharePoint中GridView导出Excel按钮的问题
- GridView中的数据导出到Excel.并分工作薄显示
- 使用GridView将数据导入或导出Excel中