我知道这种问题不时有人问到,但我找不到任何令人满意的解决方案。Microsoft.ACE.OLEDB.12.0 CSV连接字符串
如何使用MS ACE OLEDB 12打开CSV文件? 我用下面的代码尝试它。
DbConnection connection = new OleDbConnection();
connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Documents;Extended Properties=\"Text;HDR=Yes\"";
connection.Open();
DbCommand cmd;
cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM [Mappe1#csv]";
DbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
Console.Write("(" + reader.GetValue(i).ToString() + ")");
Console.WriteLine();
}
cmd.Dispose();
connection.Dispose();
Console.WriteLine("Done");
Console.ReadKey();
问题是仅找到一列。文本由';'分隔。即使当我用“Delimited(|)”f.e.指定分隔符时不起作用。
我找不到此提供任何文件...
我们越来越远离ACE。它有很多问题(几乎没有文档,不支持,数据或工作表名称中的特定字符的问题,...)。我们发现,如果您的设计干净,比使用Interop更快,更轻松,更可靠。 CSV的另外我们使用另一个API(LumenWorks CSV阅读器:http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader) – SACO 2014-10-31 10:15:58