我正在使用ClosedXML读取Excel文件。但是由于某种原因,封闭的xml会将单元格值四舍五入,该值的格式为小数点后16位。例如,我得到的值是0.0232080359530551,而不是0.02320803595305504993。我看着this!文章并尝试过,但没有解决。
尝试了所有这些选项,但没有成功。
string me = string.Empty;
me = row.Cell(i).ValueCached;
me = row.Cell(i).RichText.ToString();
me = row.Cell(i).Value.ToString();
double d = 0.00000000000000000000;
d = row.Cell(i).GetDouble();
row.Cell(i).TryGetValue<double>(out d);
var fme = row.Cell(i).GetValue<double>().ToString("N30");
var fmesd = row.Cell(i).GetValue<float>().ToString("N30");
var dddsdsd = Convert.ToDouble(row.Cell(i).GetType().GetField("_cellValue", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(row.Cell(i)));
var sdfljdlf = row.Cell(i).GetValue<string>();
答案 0 :(得分:1)
如果您在Excel中的数据类型为Number,则Excel已经将其舍入为15位数字。如果它是Text,则用GetValue<string>()
来获得全长,或者用GetValue<decimal>()
来得到数字。