来自http://blog.csdn.net/oxlshmily。
从GridView导出数据到Excel表中,如果是身份证或者过长的数字,在Excel表中会显示为1.4E+17之类的,原因是是EXCEL可以自动识别数字,并智能转化。
解决这个问题很简单:
只要在RowDataBound 事件中添加代码即可:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[9].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
}
将数字型转换为字符就可以了。注意:Cells[9]中的9 是过长的数字所在的列,具体需要测试一下。