首页 新闻 会员 周边

asp.net ListView 控件导出EXCEL档 出现一点问题身份证号后3位全部变成0,如何解决哦

0
悬赏园豆:5 [已解决问题] 解决于 2012-11-12 10:42

我的导出代码如下: 请大神们救救 我
 private void Export(string FileType, string FileName)
  {

  Response.Charset = "GB2312";

  Response.ContentEncoding = System.Text.Encoding.UTF7;

  Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());

  Response.ContentType = FileType;

  this.EnableViewState = false;

  StringWriter tw = new StringWriter();

  HtmlTextWriter hw = new HtmlTextWriter(tw);

  ListView1.RenderControl(hw);

  Response.Write(tw.ToString());

  Response.End();

  }

zhengyingcan的主页 zhengyingcan | 初学一级 | 园豆:12
提问于:2012-10-18 14:27
< >
分享
最佳答案
0

把datatable身份证那一列属性设置为string

收获园豆:5
飞来飞去 | 老鸟四级 |园豆:2057 | 2012-10-18 16:54

不知道怎么设,因为我是绑定的,列如 <td><%# Eval("ha01") %></td> 这样子的格式,如何设定列的属性呢

zhengyingcan | 园豆:12 (初学一级) | 2012-10-18 18:54

@zhengyingcan: 

后台datatable.Columns["ha01"].DataType = typeof(String);

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-10-19 09:42
其他回答(2)
0

 Response.ContentEncoding = System.Text.Encoding.UTF7;

 

把这个也改成GB2312试试  代码没什么问题啊

┢┦偉 | 园豆:1240 (小虾三级) | 2012-10-18 14:38

改成 Response.ContentEncoding = "GB2312";  如此改吗

支持(0) 反对(0) zhengyingcan | 园豆:12 (初学一级) | 2012-10-18 14:41

@zhengyingcan:  Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312")

支持(0) 反对(0) ┢┦偉 | 园豆:1240 (小虾三级) | 2012-10-18 14:42
0

请问在写入excel的时候身份证那个数据后面有3个0吗  如果没有的话就是写入excel的格式问题了  很有可能那个excel的单元格是数值类型  将其改为G(标准) 或者文本就可以了

快乐乔巴 | 园豆:220 (菜鸟二级) | 2012-10-18 15:03

没用,出来就是科学计数法,变成文本,已经是0了

支持(0) 反对(0) zhengyingcan | 园豆:12 (初学一级) | 2012-10-18 15:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册