本来CSV中内容是用逗号隔开的,现在某列中也有逗号,本来想取到这一列的内容,现在这一列变成,如果内容中碰到有几个逗号,就被分成几列了,显然这不是我要的结果,下面的内容是某一列的,内容里函有逗号csv1,csv2,csv3,csv4

解决方案 »

  1.   


    这个没办法。
    只能选用特殊字符作为分隔符。还有我记得好像excel编辑CSV是,如果有,就是用“”扩起来。csv1, "csv2,csv3", scv4
      

  2.   

    在内容动态可变的情况下做分隔最好使用组合字符,比如*#06,这样在一般情况下就不会出现你现在的这种情况了。例如:
    string[] csv = value.Split(new string[] { "*#06," }, StringSplitOptions.RemoveEmptyEntries);
      

  3.   

     private string[] ReadCSV()
            {
                string[] list = null;
                if (this.FileUploadImport.HasFile == true)
                {
                    using (StreamReader fileReader = new StreamReader(this.FileUploadImport.PostedFile.InputStream, System.Text.Encoding.Default))
                    {
                        string strLine = "";                     while (strLine != null)
                        {
                            strLine = fileReader.ReadLine();
                            if (strLine != null && strLine.Length > 0)
                            {
                                list = strLine.Split(',');
     }
                        }
                    }
                }            return list;
            }