我有一个问题。我正在从excel文件导入数据,包括代码和内容等数据。 导入我正在使用LinqToExcel linqToExcel 问题是,其中一个excel的列包含“A2C235425345345”或“12441523543454454”等代码。此列的此数据未格式化为字符串或数字。因此,当从excel文件中读取时,而不是该值“6.57621e + 009”。 所以现在我需要一种方法将该值转换回初始值,使用C#和.NET framework 4.0
有什么想法吗? 谢谢!
答案 0 :(得分:1)
在字符串值之前使用撇号'
,然后将其传递给Excel。
我假设您要将数据导出到Excel。
答案 1 :(得分:0)
尝试为转换列添加映射块。
public static List<ExcelReqests> LoadRequest( string path)
{
var excel = new ExcelQueryFactory(path);
excel.AddMapping<ExcelRequests>(x => x.COLUMNNAME, "COLUMNNAME",
s => !string.IsNullOrEmpty(s)
? decimal.TryParse(s, NumberStyles.Number | NumberStyles.AllowExponent | NumberStyles.Float, CultureInfo.InvariantCulture, out decimal dummy)
?
dummy.ToString("#0")
: s
: s);
return (from e in excel.Worksheet<ExcelRequests>(0)
select e).ToList();
}
PS:注意十进制转换过程中的文化依赖性。