如何用c#逐行读取CSV文件的内容,具体代码

解决方案 »

  1.   

    这个例子是这样的,读取一个各字段之间以|符号分割的csv文件,其中,第一行是字段的名称。请你参考,希望对你有用!!!int  intColCount = 0;
    bool blnFlag = true;
    DataTable mydt = new DataTable("myTableName");DataColumn mydc;
    DataRow mydr;string strpath = "";
    string strline;
    string [] aryline;            System.IO.StreamReader mysr = new System.IO.StreamReader(strpath);while((strline = mysr.ReadLine()) != null)
    {               
        aryline = strline.Split(new char[]{'|'});    if (blnFlag)
        {
            blnFlag = false;
            intColCount = aryline.Length;
            for (int i = 0; i < aryline.Length; i++)
            {
                mydc = new DataColumn(aryline[i]);
                mydt.Columns.Add(mydc);
            }                    
        }                    mydr = mydt.NewRow();
        for (int i = 0; i < intColCount; i++)
        {
            mydr[i] = aryline[i];        
        }
        mydt.Rows.Add(mydr);
    }
      

  2.   

    swordragon(古道热肠) ,你给的例子太好,以至于我只改了一个字母程序就完成了,多谢多谢啦,楼主要多给这位兄弟分啊。
      

  3.   

    aryline = strline.Split(new char[]{'|'});改成aryline = strline.Split(new char[]{','});就可以了。
      

  4.   

    这个程序会在读写以下CSV内容时出错
    name1, name2, name3
    111,222,333
    444,"5,55",666
      

  5.   

    A Fast CSV Reader
    http://www.codeproject.com/cs/database/CsvReader.asp
      

  6.   

    to:wxdl1981(沉默之狼) 我碰到过,解决了1  保证是unicode方式打开文件  2  用"\n"分隔  3  保证输出的数据中不会有"\n"  "\r"  "\t" 等特殊的字符,若有要先替换掉