CSV檔案, 俗稱"逗號分隔的檔案", 讀取CSV檔案的方法可以使用IOStream按照即定格式讀取...
我以為就這一種方法呢, 呵呵. 直到有一天.在www.ConnectionStrings.com上看到文本的串連
字串:
Text
- ODBC
- Standard:
"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\txtFilesFolder\;Extensions=asc,csv,tab,txt;"
- OLE DB
- Standard:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties=""text;HDR=Yes;FMT=Delimited"""
"HDR=Yes;" indicates that the first row contains columnnames, not data
- Standard:
"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\txtFilesFolder\;Extensions=asc,csv,tab,txt;"
- OLE DB
- Standard:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties=""text;HDR=Yes;FMT=Delimited"""
"HDR=Yes;" indicates that the first row contains columnnames, not data
- Standard:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties=""text;HDR=Yes;FMT=Delimited"""
"HDR=Yes;" indicates that the first row contains columnnames, not data
這裡不是有csv麼?呵呵,可以試一下啊, 實驗結果很不錯.可以使用ODBC來串連.把csv當作資料庫,
感覺不錯.(OleDb的沒成功, 將Properties=text改為Properties=csv不好使,是不支援,還是我寫錯?)
因此這裡提供一種方法.( 肯定不是我發明的哦), 使用ODBC串連方式,通過DataAdapter直接將
資料快速匯入DataSet, 很方便.方法如下:
public DataSet GetDataSetFromCSV(string filePath, string fileName)
{
string strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=";
strConn += filePath; //filePath, For example: C:\
strConn += ";Extensions=asc,csv,tab,txt;" ;
OdbcConnection objConn = new OdbcConnection(strConn);
DataSet dsCSV = new DataSet();
try
{
string strSql = "select * from " + fileName; //fileName, For example: 1.csv
OdbcDataAdapter odbcCSVDataAdapter = new OdbcDataAdapter(strSql, objConn);
odbcCSVDataAdapter.Fill(dsCSV);
return dsCSV;
}
catch(Exception ex)
{
throw ex;
}
}