C#讀取CSV文件
很多項目中都需要操作CSV文件,我看到很多人都會編碼讀取CSV文件中的第一行並解釋其中的每一個列的值,
相對來說這有難度,
一來要求開發人員對字符串處理比較熟悉,
二來要求對CSV的文件結構要有相當的了解,難度較大,編寫的代碼質量也要經過一段時間的考驗,
但其實有一種更簡單的方法,即使用微軟的文本驅動程序,以表的形式來訪問CSV文件。
具體代碼如下所示
public DataTable GetCsvData(string filePath, string fileName)
{
string path = filePath + "\\" + fileName + ".csv";
string connString = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + filePath + ";Extensions=csv";
try
{
using (OdbcConnection odbcConn = new OdbcConnection(connString))
{
odbcConn.Open();
OdbcCommand oleComm = new OdbcCommand();
oleComm.Connection = odbcConn;
oleComm.CommandText = "select * from [" + fileName + "#csv]";
OdbcDataAdapter adapter = new OdbcDataAdapter(oleComm);
DataSet ds = new DataSet();
adapter.Fill(ds, fileName);
odbcConn.Close();
return ds.Tables[0];
}
}
catch (Exception ex)
{
throw ex;
}
}