Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc csv中的单元格格式_Asp.net Mvc_Excel_Csv_Export To Csv - Fatal编程技术网

Asp.net mvc csv中的单元格格式

Asp.net mvc csv中的单元格格式,asp.net-mvc,excel,csv,export-to-csv,Asp.net Mvc,Excel,Csv,Export To Csv,我正在以3种格式导出一些生成的串行代码(使用C#Asp.Net MVC):.txt、.csv和.xls。 这是在.txt和.xls的代码是在正确的格式。但在.csv中,如果以0开头,则会丢失其前导0,例如: 183531982165 显示为 183532E+11 这是我用来填充文件的代码: public static byte[] CreateFile(SericalCodeModel scObj, myDB db) { using (System.IO.FileStre

我正在以3种格式导出一些生成的串行代码(使用C#Asp.Net MVC):.txt、.csv和.xls。 这是在.txt和.xls的代码是在正确的格式。但在.csv中,如果以0开头,则会丢失其前导0,例如:

183531982165

显示为

183532E+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));
                }
            }
        }
    }
public static byte[]CreateFile(serialcodemodemel scObj,myDB)
{
使用(System.IO.FileStream fs=new System.IO.File.Create(filePath))
{
使用(System.IO.TextWriter wr=new System.IO.StreamWriter(fs))
{
List fileLines=db.Get().GetSerialcodeOutDataToFile(scObj);//数据库记录
foreach(在文件行中列出文件行)
{
WriteLine(string.Join(“;”,fileLine));
}
}
}
}
只有当我用Excel打开文件时,才会发生此错误,否则,用任何其他编辑器(如记事本)都会显示它的状态


这是为什么?我如何修复该错误?

csv文件缺少您习惯的格式,因此您必须向Excel提供如何解释其内容(文本、数字等)的说明。有关详细信息,请参阅,我尝试使用“=”这个东西做一些类似于他们在该线程中所做的事情,但没有成功。问题是,只有一列,一个带有数字代码(串行代码)的列有格式问题,其他列没有问题。另外,当我在使用Excel打开csv文件时更改格式时,前导0仍然丢失。我用我用来归档文件和记录的代码编辑了这个问题。你用什么打开CSV?用记事本打开它-你看到正确的格式了吗?Excel只是在糊弄你。@Nick.McDermaid是的,在其他所有工具中,比如记事本、记事本++,格式都是正确的,只有在Excel中是错误的。使用单元格格式,它可以被修复(即使用户不必费心这么做),但是前导0丢失了!所以问题是:CSV文件的实际用途是什么?您已经有excel的.xls文件。任何CSV文件都会出现此“问题”。CSV通常用于上传到其他系统。巧合的是,它默认在excel中打开。要真正强制格式化,可以尝试用引号括起来。但真正的答案是:不要在excel中打开此文件