|
Внешние источники данных и Excel 2010
| ☑ |
0
termos
08.12.14
✎
14:04
|
Добрый день!
Столкнулся с вопросом - как правильно считывать файл Excel (2010 - расширение xlsx) через внешние источники данных.
Создавая внешний источник данных и в последствии таблицу - указываю в конструкторе (пункт - Выбрать из списка таблиц источника данных) следующую строку подключения:
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\моиданные.xlsx;
В результате драйвер не получает ни одного поля из файла. Если использовать другой драйвер, то выходит ошибка сообщающая о невозможности получить параметры строки получения у драйвера.
Подскажите, пожалуйста, кто сталкивался с подключением файлов Excel 2010 через внешние источники данных - каким образом реализовать подключение, чтобы 1С автоматически подхватила поля из файла.
|
|
1
termos
08.12.14
✎
14:16
|
(0) Да, уточню на всякий случай - у меня Windows 8.1 64 бит
|
|
2
termos
08.12.14
✎
14:26
|
Если делать вручную и прописывать вручную поля (имена заголовков полей) в таблице, то всё работает.
И выполняя такой код - всё получает без проблем из файла:
&НаСервере
Процедура ЗагрузитьНаСервере()
Если ВнешниеИсточникиДанных.Excel.ПолучитьСостояние() = СостояниеВнешнегоИсточникаДанных.Отключен Тогда
ПараметрыСоединения = ВнешниеИсточникиДанных.Excel.ПолучитьОбщиеПараметрыСоединения();
ПараметрыСоединения.СтрокаСоединения=
"Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\моиданные.xlsx;";
ВнешниеИсточникиДанных.Excel.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
ВнешниеИсточникиДанных.Excel.УстановитьСоединение();
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| Данные.Фамилия,
| Данные.Имя,
| Данные.Отчество,
| Данные.Количество
|ИЗ
| ВнешнийИсточникДанных.Excel.Таблица.Данные КАК Данные";
ТЗ = Запрос.Выполнить().Выгрузить();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Загрузить(Команда)
ЗагрузитьНаСервере();
КонецПроцедуры
|
|
3
termos
08.12.14
✎
14:27
|
Получается это плохо реализован механизм в платформе?
|
|
4
ДенисЧ
08.12.14
✎
14:27
|
(3) 8ка - глючная и сырая
|
|
5
spectre1978
08.12.14
✎
14:30
|
(0) Обязательно через ODBC надо? Может, есть смысл использовать более современный механизм ADO, поставив Microsoft Access ACE драйвер?
|
|
6
spectre1978
08.12.14
✎
14:31
|
правда, я не пробовал зачитывать таким образом Excel 2010, но 2007 xlsx читался...
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший