第一种方法:
引用
using System.Text.RegularExpressions;
在数字前面加个 单引号
if (dt.Rows[i][j].ToString().Length > 11 && Regex.IsMatch(dt.Rows[i][j].ToString(), @"^[+-]?d*$"))
{
if (dt.Rows[i][j].ToString() != "") data += '"' + "'" + dt.Rows[i][j].ToString() + '"';
}
else if (dt.Rows[i][j].ToString() != "") data += '"' + dt.Rows[i][j].ToString() + '"';
第二种方法:
在数字前面或者后面加 Convert.ToChar(9) 或者
前面二种方法虽然最后导出不会变为科学计数法,但是在excel中公式匹配,不会匹配到,因为存在了字符,需要使用substitute替换掉,
或者 数据-分列
第三种方法:
row.cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@");