Gridview数据导出excel时身份证号码为科学计数法的解决方法

  if (e.Row.RowType == DataControlRowType.DataRow)
{
string id = this.GridView1.DataKeys[e.Row.RowIndex]["id"].ToString();
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[2].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除此记录吗?')");
}
e.Row.Cells[1].Text = String.Format("<a href='javascript:Targetedit({0});'>编辑</a>", id);
e.Row.Cells[5].Attributes.Add("style", "vnd.ms-excel.numberformat:@;"); //保证导出excel不会已科学计数法显示
// e.Row.Cells[4].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");
}

  

通常在Gridview中将数据导出为excel时,身份证号码常常被以科学计数法显式,影响导出的正确性,经过在网上查找资料,发现用下面的方法可以解决这种问题

在gridview的rowdatabound事件中写下面的代码

if (e.row.rowtype=datacontrolrowtype.datarow) then

    e.row.cell(i).attributes.add("style","vnd.ms-excel.numberformat:@;")

end  if

  

其中i为身份证号码的那一列,数的时候从0开始,其实也就是加了个格式,更多的解答请用vnd.ms-excel.numberformat做关键词搜索

上一篇:透明度 rgba 和 opacity 的区别


下一篇:Slider 滚动条 Pagination分页插件 JS Ajax 数据范围筛选 加载 翻页 笔记