Я могу легко получить список столбцов из файла 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")
.
DataTable
. На самом деле выбор данных из CSV-файла работает нормально, просто методы OleDb для получения схемы/столбцов не работают. - person Josh M.   schedule 06.04.2013