我正在以3种格式(使用C#Asp.Net MVC)导出一些生成的串行代码:.txt,.csv和.xls。 事情在.txt和.xls中,Code的格式正确。但是在.csv中,如果它以0和示例:
开头,则会失去前导0183531982165
显示为
1,83532E + 11
这是我用来填充文件的代码:
public static byte[] CreateFile(SericalCodeModel scObj, myDB db)
{
using (System.IO.FileStream fs = new System.IO.File.Create(filePath))
{
using (System.IO.TextWriter wr = new System.IO.StreamWriter(fs))
{
List<List<string>> fileLines = db.Get<SerialCode>().GetSerialcodeOutDataToFile(scObj); // the db records
foreach (List<string> fileLine in fileLines)
{
wr.WriteLine(string.Join(";", fileLine));
}
}
}
}
只有当我用Excel打开文件时才会出现此错误,否则,与记事本等任何其他编辑器一起显示它是如何出现的!
为什么会这样,我该如何解决这个错误?