Имя: Пароль:
1C
1С v8
Проблема с ADO
,
0 KarpovDeniska
 
02.10.11
16:23
Есть файл XLS, в нём 14к строк,при подключении к нему через ADO выдаёт ошибку "внешняя таблица не имеет предполагаемый формат", притом если создаю пустой файл XLS всё нормально подключается.
Код вот такой:

ADOСоединение = Новый COMОбъект ("ADODB.Connection");
ADOСоединение.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ФайлEXCEL+";Extended Properties=""Excel 8.0;HDR=yes;""";
ADOСоединение.Open();

Помогите разобраться, уже весь мозг себе взорвал.
1 Rie
 
02.10.11
16:27
(0) Заголовки у стобцов - есть? Данные в столбцах - однотипные?
2 KarpovDeniska
 
02.10.11
16:47
типы разные, заголовки есть, в начале файла вообще вставлена картинка, удалил её руками, одна фигня
3 Rie
 
02.10.11
16:51
(0) Попробуй добавить в строке подключения в Extended Properties:
IMEX=1;
4 KarpovDeniska
 
02.10.11
16:53
Пробовал, то же самое
5 Rie
 
02.10.11
16:57
(4) Может, помимо картинки, ещё какой-то мусор был?

Попробуй HDR=No;IMEX=1
(первую строку потом проигнорируешь).
6 Armando
 
02.10.11
17:01
А если значения (только значения) перенести в другой файл?
7 KarpovDeniska
 
02.10.11
17:17
Не,без толку
8 KarpovDeniska
 
02.10.11
17:17
мож ещё какой способ есть, просто загрузка будет регламентной на серваке, на котором нет excel???
9 Amra
 
02.10.11
17:23
(8) бугага
10 KarpovDeniska
 
02.10.11
17:34
Amra от слова Mra????  )))
11 KarpovDeniska
 
02.10.11
17:39
Ну что, больше нет вариантов чтоли??
12 KarpovDeniska
 
02.10.11
17:40
только бугага видимо (9)
13 Rie
 
02.10.11
17:42
(11) Вариант есть - разобраться, что там со структурой таблицы.
14 KarpovDeniska
 
02.10.11
17:45
Это да, только и не знаю даже куда копать(13)
15 Rie
 
02.10.11
17:47
(14) Поищи "грязь" вне той области, которую ты загрузить хочешь.
А может, у тебя объединённые ячейки там есть. Или ещё какие-нибудь оформительские приколы.
16 Armando
 
02.10.11
18:09
выложи кусок файла куданить
17 KarpovDeniska
 
02.10.11
18:19
http://ifolder.ru/26100093 , вообще я из него всё удалил а ему пофиг
18 Черный всадник
 
02.10.11
18:23
(0) Уверен что файл в старом формате? Попробуй так: Extended Properties ="Excel 12.0 Xml;HDR=YES"
19 KarpovDeniska
 
02.10.11
18:29
Так пишет невозможно найти устанавливаемый ISAM ))
20 Rie
 
02.10.11
18:29
(17) Бедное ADO...
21 KarpovDeniska
 
02.10.11
18:30
(17) объяснишь почему??
22 KarpovDeniska
 
02.10.11
18:31
ой )) (20)
23 KarpovDeniska
 
02.10.11
18:57
Up
24 Jaap Vduul
 
02.10.11
19:06
(0)
Указанный код не может ошибку "внешняя таблица не имеет предполагаемый формат" вызывать.
Давай весь текст.
25 KarpovDeniska
 
02.10.11
19:12
(24)
ФайлExcel = "C:\Users\Дениска\Desktop\NIX3.xls";
ADOСоединение = Новый COMОбъект ("ADODB.Connection");
ADOСоединение.ConnectionString=
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ФайлExcel+";Extended Properties="+"""Excel 8.0;HDR=YES;IMEX=1"";";
ADOСоединение.Open();

И всё,можешь попробовать, файлик в (17) есть
26 Jaap Vduul
 
02.10.11
19:20
Поскольку никакая таблица в озвученных манипуляциях не указана, то и ошибки "внешняя таблица ..." быть не должно.
ЗЫ. Подключиться к файлу из (17) я попробовал, никаких ошибок, разумеется нету.
27 KarpovDeniska
 
02.10.11
19:26
ФайлExcel = "C:\Users\Дениска\Desktop\NIX3.xls"  а это не внешняя таблица??? У меня на опене с такой ошибкой отваливается
28 KarpovDeniska
 
02.10.11
19:30
(26)Может у тебя какой то другой код, кинь если не трудно
29 Jaap Vduul
 
02.10.11
19:35
(27)
>> ФайлExcel = "C:\Users\Дениска\Desktop\NIX3.xls"  а это не внешняя таблица???
Нет, с "точки зрения" ADO это база данных, в которой содержится энное количество таблиц. В случае с файлом (17) таблицы следующие:
Оглавление$
Пояснения$
Прайс
'Комплектующие и периферия$'
'Комплектующие и периферия'$Print_Area
'Комплектующие и периферия'$_FilterDatabase
30 KarpovDeniska
 
02.10.11
19:48
Ну тогда я вообще запутался, я уже в отдельную обработку скопировал 3 строчки кода, всё таже ошибка, хотя быть её как было сказано не может
31 KarpovDeniska
 
02.10.11
20:57
up
32 Черный всадник
 
03.10.11
01:42
(19) Обнови MIDAC
33 774816
 
03.10.11
09:25
пробуй через ODBC
Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;

http://www.connectionstrings.com/excel