|
ADODB\Jet Не читает первую колонку, начинает со второй
| ☑ |
0
Jokero
23.11.15
✎
15:10
|
На сервере нет офиса, поэтому подключаюсь к exel файлу по "ADODB.Connection".
Использую драйвер Microsoft.Jet.OLEDB.4.0
Полная СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+ИмяФайла+"; Extended Properties=""Excel 8.0;HDR=No;IMEX=1;""";
делаю простой запрос "SELECT * FROM[" + ИмяЛиста+ "]"; при этом в выборку попадают все данные, кроме первой колонки.
Почему Jet не читает первую колонку и как это побороть?
|
|
1
Serginio1
23.11.15
✎
15:18
|
Наверное потому, что первая колонка с индексом 0
|
|
2
palpetrovich
23.11.15
✎
15:21
|
(1) +1
|
|
3
repin_mike
23.11.15
✎
15:21
|
Вероятно это как-то связано с тем, что у экселя нумерация строк и колонок начинается с нуля.
А что даёт запрос SELECT ИмяПервой(Нулевой)Колонки FROM[" + ИмяЛиста+ "] ?
|
|
4
Jokero
24.11.15
✎
07:26
|
Jet называет колонки F1,F2,F3,F4.
При вызове F0 - выдает ошибку в запросе.
(1) Похоже на то, потому что он и первую строчку не читает. Как тогда с помощью Jet добавить колонку в лист?
|
|
5
sda553
24.11.15
✎
07:33
|
(4) обращайся по индексу колонки
RecResult.MoveFirst();
val = RecResult.fields(0);
|
|
6
Jokero
24.11.15
✎
07:45
|
RecResult.fields(0) - это столбец F1, который в файле экселя второй.
|
|
7
Jokero
24.11.15
✎
07:58
|
Не, дело походу не в Jet.
Скопировал данные в новый файл xls, сохранил его и вдруг выборка начала читать все колонки и строки.
Дело видимо в самом файле Экселя, что там может быть?
|
|
8
Jokero
24.11.15
✎
08:07
|
Да, дело в файле, открываю этот файл екселя, нажимаю сверху кнопочку "сохранить" и выборка начинает видеть первую строку и первый столбец. Файл приходит автоматом от поставщика.
В чем здесь может быть дело? Как исправить файл поступающий файл?
|
|