数据绑定到Repeater1 ,下面是将Repeater1的内容导出的示例代码
            System.IO.StringWriter sw = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter hw 
= new System.Web.UI.HtmlTextWriter(sw);
            
this.Repeater1.RenderControl(hw);

            Response.Clear();
            Response.ContentType 
= "application/vnd.ms-excel";
            Response.Charset 
= "";
            Page.EnableViewState 
= false;

            Response.AppendHeader(
"Content-Disposition""attachment;filename=Teacher.xls");
            Response.Write(
"<html><head><meta http-equiv=Content-Type content=\"text/html; charset=GB2312\"><title>                                Copyright by SDU</title></head><body><center>");
            Response.Write(sw.ToString());
            Response.Write(
"</center></body></html>");
            Response.End();
说明:当字符型的数字串导出到excel的时候,经常自动变为科学记数法表示,解决的方法,绑定到Repeater1的时候如此:
<td style="vnd.ms-excel.numberformat:@"><%# DataBinder.Eval(Container.DataItem, "shenfenzheng"%></td>
posted on 2005-08-27 11:08 powerlc 阅读(1118) 评论(8)  编辑 收藏 网摘 所属分类: .net项目开发

  回复  引用    
2007-01-16 17:23 | ll[未注册用户]
请问一下,为什么导出的中文全是乱码,有什么方法可以解决?
  回复  引用    
2007-01-16 17:33 | ll[未注册用户]
已经解决了 charset=GB2312 改成auto就行了
  回复  引用    
2007-04-06 15:19 | 阿良[未注册用户]
如果 Repeater 嵌套 Repeater ,不能导出 嵌套 Repeater 中的内容,请问有没有好的解决方法??
  回复  引用    
2009-03-15 03:35 | 大力0122[未注册用户]
楼主
为什么按照你的方法报 只能在执行 Render() 的过程中调用 RegisterForEventValidation;的错呢?紧急求助!

  回复  引用    
2009-03-16 08:57 | 楼主[未注册用户]
1.修改web.config(不推荐)<pages enableEventValidation ="false" ></pages>
2.直接在导出Execl的页面修改
<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"
CodeFile="ExportGridView.aspx.cs" Inherits="ExportGridView

  回复  引用  查看    
2009-03-17 13:25 | stu_acer      
我这个的环境是英文版Win 2003,直接使用此代码导出的文件全是乱码,加上下面这句就不会了
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 223989 6hB2N41gKxU=



相关文章:

相关链接: