net导出到excel数字变为科学技术法

第一种方法:

引用

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:@");

原文地址:https://www.cnblogs.com/bignine/p/10179206.html