次のような Excel ファイルから列のリストを簡単に取得できます。
columns = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new string[] { null, null, tableName, null });
CSV ファイルについても同じことをしたいのですが、必要なパラメーターがわかりません。CSV ファイルへの接続文字列は次のとおりです。
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0}; Extended Properties='text; FMT=Delimited(,); ReadOnly={1}; HDR={2}'".FormatString(directory, readOnly, (firstLineIsColumnHeaders ? "yes" : "no"))
これは(この場合)次のようになります。
Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Windows\Temp\sadf83.tmp; Extended Properties='text; FMT=Delimited(,); ReadOnly=true; HDR=yes'
しかし、しようとするGetOleDbSchemaTable
と、コマンドは問題なく返されますが、空になりDataTable
ます。しようとするときも同じですGetSchema("Columns")
。