|
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
Вопрос остался следующий как то по другому это диапазон задать можно? без букв, цифрами
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший