解决方案 »

  1.   

    你确定这是excel?你明明是按读txt的方法来读的
    excel用txt打开,列与列应该是tab隔开的,C#语法中用"\t"表示
      

  2.   

    你这是否读取的CSV文件,CSV文件基本都是以 , 分隔,然后读取http://blog.163.com/china__xuhua/blog/static/19972316920120655450826/
      

  3.   

    csv的标准做法是用双引号打包:1,2,"a,b",3。万一内容有双引号,则每个双引号用两个双引号代替。
    因此,一个简单的做法就是,只把偶数个双引号后的逗号作为分割符。static string[] SplitCsv(string line)
    {
        List<string> list = new List<string>();
        StringBuilder sb = new StringBuilder();
        bool quoted = false;
        foreach (char c in line)
        {
            if (c == ',' && !quoted) 
            {
                list.Add(sb.ToString().Replace("\"\"", "\""));
                sb = new StringBuilder();
            }
            else
            {
                sb.Append(c);
                if (c == '\"') {quoted = !quoted;}
            }
        }
        list.Add(sb.ToString().Replace("\"\"", "\""));
        return list.ToArray();
    }
      

  4.   

    你这个明显就是都csv,而不是excel。
    csv规定,如果字段内容本身包含,,那么字段就会用""包裹起来。所以你要需要判断,"