Имя: Пароль:
1C
1С v8
Как открыть *.dif файл в 1С без Экселя
0 alexkr
 
20.12.11
16:50
День добрый, уважаемые форумчане!
Появилась у меня задача разбора файла с количество колонок более 350-ти штук (точное количество не помню, да и не важно - так как ужо не эксель).
Ранее таблицы выгружали в старый добрый эксель и открывался он превосходно через ADODB с помощью не хитрых манипуляций.
А тут колонок дофига, попробовали выгрузить в файл (расширение у него *.xls) но по сути это фай *.dif.
Естественно он не открывается, и на этапе доступа к файлу через старый кусок кода вываливается с ошибкой:

Код:
АДОСоединение.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+СокрЛП(Родитель.ИмяФайла)+";Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;""";

попытка
   АДОСоединение.Open();
исключение
   Сообщить(ОписаниеОшибки());
   Возврат Ложь;
КонецПопытки;

ну и ошибка:

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft JET Database Engine): Внешняя таблица не имеет предполагаемый формат.

Если я все правильно понимаю, "Extended Properties=""Excel 8.0" это мы устанавливает тип открываемой таблицы.
Можно ли открыть таким образом требуемый формат файла?
Ну и что нужно скорректировать в строке подключения, если открыть так можно?
1 Ковычки
 
20.12.11
17:09
наверное только парсить (хотя х.з. может есть метод)

http://en.wikipedia.org/wiki/Data_Interchange_Format
2 alexkr
 
20.12.11
18:14
при всем этом сам Эксель открывает файл с руганью так же, но открывает...
формат текста малость коцанный но жить можно
3 Ковычки
 
20.12.11
18:16
у екселя 256 колонок, у адо более чем в половину меньше
4 alexkr
 
20.12.11
18:22
ну в 2010 их поболее, но прога не позволяет выгружать таблицу в формат *.xlsx, а по сему выгружается в банальный *.xls,
Я не пробовал все 256 открывать через АДО, но где то 120 колонок открывались