c#如何读取一个CSV文件,读入到dataset中(或其他容器中),排序,然后输出为另一个CSV文件?

解决方案 »

  1.   

    CSV文件是文本格式,当作普通文本文件操作就可以了。当然你可以把它当作excel数据库文件进行操作,使用oledb进行连接。
      

  2.   

    CSV=Comma Seperated Value
    CSV就是用逗号分隔的文本文件,直接读就是了。
      

  3.   

    Dim strConn As String
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
            strConn = strConn & strFilePath
            strConn = strConn & ";Extended Properties=""text;HDR=Yes;FMT=Delimited"""        Dim objConn As OleDb.OleDbConnection
            objConn = New OleDb.OleDbConnection(strConn)        Dim CSVDataSet As DataSet
            CSVDataSet = New DataSet        Try
                Dim strSql As String
                strSql = "select * from " & strFileName
                Dim ODBCCSVDataAdapter As OleDb.OleDbDataAdapter
                ODBCCSVDataAdapter = New OleDb.OleDbDataAdapter(strSql, objConn)
                ODBCCSVDataAdapter.Fill(CSVDataSet)                      Return CSVDataSet
            Catch ex As Exception
                MessageBox.Show(ex.Message)
                Exit Function
            End Try
      

  4.   

    1:直接读取
    2:数据库方式
    //打开,读取aaaa.csv文件
    string szDir="c:\\";
    string szFile="aaaa";
    DateSet ds=new DateSet();
    string szConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+szDir+";Extended Properties=\"Text;HDR=No;FMT=Delimited\\\""; 
    OleDbConnection conn = new OleDbConnection(szConStr); 
    OleDbDataAdapter da = new OleDbDataAdapter("Select * from " + szFile,conn); 
    da.Fill(ds,"bbbb"); 
    conn.Close();
      

  5.   

    读取csv文件时可不可以当成一个表?直接在select时加上order by column1, column2.....。如果能加的话默认的列名是什么?
      

  6.   

    就用streamreader一行行的读就是了,读进一行用string.splite(new char[]{','})分出来就可以了
      

  7.   

    读取csv文件时可不可以当成一个表?直接在select时加上order by column1, column2.....。如果能加的话默认的列名是什么?---------------
    默认的是第一列