Имя: Пароль:
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
Вопрос остался следующий как то по другому это диапазон задать можно? без букв, цифрами
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn