我在這裏有點困惑。CSV實際上是......分號分隔值...(Excel導出在AZERTY)
當我使用Excel 2003片導出爲CSV,它實際上使用分號......
Col1;Col2;Col3
shfdh;dfhdsfhd;fdhsdfh
dgsgsd;hdfhd;hdsfhdfsh
現在,當我閱讀使用Microsoft驅動程序CSV,預計逗號,看到清單作爲一個大列?
我懷疑Excel是用分號導出的,因爲我有一個AZERTY鍵盤。但是,CSV閱讀器是否也不得不考慮不同的分隔符?
我該如何知道適當的分隔符和/或正確讀取csv?
public static DataSet ReadCsv(string fileName)
{
DataSet ds = new DataSet();
string pathName = System.IO.Path.GetDirectoryName(fileName);
string file = System.IO.Path.GetFileName(fileName);
OleDbConnection excelConnection = new OleDbConnection
(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathName + ";Extended Properties=Text;");
try
{
OleDbCommand excelCommand = new OleDbCommand(@"SELECT * FROM " + file, excelConnection);
OleDbDataAdapter excelAdapter = new OleDbDataAdapter(excelCommand);
excelConnection.Open();
excelAdapter.Fill(ds);
}
catch (Exception exc)
{
throw exc;
}
finally
{
if(excelConnection.State != ConnectionState.Closed)
excelConnection.Close();
}
return ds;
}
這似乎是一個偉大的圖書館......我們可以在商業應用中使用它嗎?我們無法從許可證中解脫出來......此外,您是否需要在我們的「關於」窗口中提供一個屬性,以及必須具備哪些條件?感謝您的回答並分享您的圖書館。 – 2010-05-27 11:08:44
絕對 - 許可證就像他們來的許可證一樣。無需學分 - 您在這裏得到的贊成就足夠了:)但是如果您真的喜歡它,就會非常感謝codeplex網站上的評論。 – 2010-05-27 12:43:15
不幸的是,我們的目標是.NET 2.0,不能添加對KBCsv庫的引用。我們試圖打開源代碼項目,但我們只有VS2003&VS2008。是否有可用的.NET 2.0版本?或者我錯過了什麼? 非常感謝:-) – 2010-05-27 12:55:49