Чтение данных из файла xls, разделенного табуляцией

У меня есть файл с расширением .xls, который на самом деле содержит данные, разделенные пробелами табуляции, т.е. когда я щелкаю правой кнопкой мыши и открываю файл в Блокноте, я вижу все данные в виде обычного текста, разделенных пробелами табуляции

Я использую следующую строку подключения для чтения данных из файла

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\abc.xls;Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1;FMT=TabDelimiter;\";

он работает для других файлов, которые сохраняются как .xls в Microsoft Excel, но я получаю следующее исключение, когда пытаюсь использовать указанный выше файл

"External table is not in the expected format."

как мне читать данные из такого файла на C #?


person ghouse    schedule 13.12.2012    source источник
comment
Если это файл, разделенный табуляцией, это НЕ файл Excel, даже если он связан с Excel в ОС и Excel может его открыть. Просто относитесь к файлу как к любому файлу, разделенному табуляцией .txt.   -  person Patrick Honorez    schedule 13.12.2012
comment
проверьте эту ссылку connectionstrings.com/textfile   -  person Anton Semenov    schedule 13.12.2012
comment
@iDevlop Я использовал эту следующую строку подключения Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\; Extended Properties="text;HDR=NO;FMT=Delimited";, и это не работает для моего файла, который имеет расширение .xls в качестве расширения, когда я меняю расширение на .txt, все данные читаются только в одном столбце, т.е. он не рассматривает вкладку как разделитель ... также в моем файле есть нежелательный текст в первых 6 строках, поэтому я дал HDR = NO в приведенной выше строке подключения   -  person ghouse    schedule 13.12.2012


Ответы (1)


Расширение xls просто сбивает с толку - ваш файл не имеет ничего общего с Excel. Считайте файл обычным файлом с разделителями табуляцией. Пройдите по первым 6 рядам, так как они содержат «мусор».

Для этого вы можете использовать класс TextFieldParser.

У Microsoft есть образец кода и подробные сведения по адресу: http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.fileio.textfieldparser(v=vs.100).aspx

person Alien Technology    schedule 28.01.2013