Имя: Пароль:
1C
1C 7.7
v7: не читается один столбец excel через адо
0 maestro-72
 
13.11.13
17:16
Есть excel файл с колонками № артикул наименование количество сумма
делаю доступ к нему через адо читается вся строка кроме артикул. Ячейка вроде не защищена, но данных из нее получить не получается. Через оле пожалуйста, но оле требует установки excel, а вот этого как раз и хотелось бы избежать. В чем может быть дело?
Строка подключения
АДО.Open(Шаблон("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=[ИмяФайла]; Extended Properties=""Excel 8.0;HDR=No;IMEX=1"""));
Выборка данных
rs = АДО.Execute("select * from [" + СокрЛП(Лист) + "]");
1 mikecool
 
13.11.13
17:17
заголовок колонки начинается с пробела?
2 Ndochp
 
13.11.13
17:19
Смотри первые строчки - АДО определяет тип по первым нескольким строкам и потом жестко глючит при несовпадении в дальнейших.
С артикулом может например быть смена текст/число.
3 maestro-72
 
13.11.13
17:21
Т.е. насколько, я понял, если я читаю с 19 строки то все что до этого уже предустановлено, а как начать читать с той строки с которой нужно, и как жестко задать тип например: строка для колонок?
4 mikecool
 
13.11.13
17:26
(3) емнип, через драйвер читается только прямоугольная таблица с первой левой ячейки
5 Serginio1
 
13.11.13
17:27
(4) Нет можно указывать колонки
Selrct F1,F2
6 mikecool
 
13.11.13
17:28
(5) а, точно! но со строками такое не выходит
7 maestro-72
 
13.11.13
17:31
Тогда как жестко задать тип поля самому?
8 КонецЦикла
 
13.11.13
17:34
Читай блок данных, все там читается
Если не попал в заголовки колонок - ничего страшного, тем более можно попасть если шапка "многоуровневая"
Бери сразу данные

SELECT * FROM Лист1$A5:M100
9 mikecool
 
13.11.13
17:35
(8) о как, не знал про такое
10 Serginio1
 
13.11.13
17:37
6 если HDR=YES;
то
СтрЗапроса="Select ILN,[Название локализации] as Магазин,[Город],[Улица и дом] as Адрес,[State],[Индекс], [Код у Отправителя] as Код from ["+ИмяЛиста+"$]";
11 maestro-72
 
13.11.13
17:40
(8) ну к примеру начало можно предугадать но конец то как, наборы данных могут быть разные
12 КонецЦикла
 
13.11.13
17:43
(11) M100000 - хватит?
Можно и все прочитать A1:AZ
13 КонецЦикла
 
13.11.13
17:44
SELECT Лист.* FROM [НазваниеЛиста$] as Лист
Но я четал Microsoft Excel Driver, пробуй
14 hhhh
 
13.11.13
17:45
(12) может так?

SELECT * FROM Лист1$A5
15 КонецЦикла
 
13.11.13
17:46
(14) Пробуйте, мне уже хватило :)
16 maestro-72
 
13.11.13
17:54
SELECT * FROM Лист1$A5 не взлетело
Зато взлетело
SELECT * FROM Лист1$A5:M100
Вопрос остался следующий как то по другому это диапазон задать можно? без букв, цифрами