GridView将数据导入Excel发现:如果数字位数超过15位,保存的时候会自动转为科学计数法,但会将15位后的数字变为零,如身份证号码!这样得到的数据和原来的不一致,这是Excel自动识别的问题。在网上搜索了一下解决方法,如下:
在绑定gridview控件时在rowdatabound事件中对数据格式化,要对哪一列数据格式化,就指定哪一列。上面的代码
e.Row.Cells[6]我指定的是第7列,因为我第7列的数据保存的是身份证号码,可以根据自己的具体情况更改!
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[6].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
}
}