Имя: Пароль:
1C
1С v8
Чтение excel запросом
0 Ayvengo
 
22.06.12
16:50
Использую следующую статью: Книга знаний: Чтение данных XLS, XLSX запросом без установленного Excel
Но, к сожалению у меня выскакивает ошибка:
{Форма.Форма.Форма(16)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Невозможно найти устанавливаемый ISAM.

Подскажите, что делать? :)
1 Rie
 
22.06.12
16:51
(0) Посмотреть, какой именно у тебя провайдер.
2 aleks-id
 
22.06.12
16:52
(0) ты провайдер по ссылке скачал и установил?
http://www.microsoft.com/download/en/details.aspx?id=23734
3 shuhard
 
22.06.12
16:52
(0) нет кода - нет обсуждения
4 aleks-id
 
22.06.12
16:52
(3) +1
5 Ayvengo
 
22.06.12
17:06
(3)(4) а когда по ссылке мало? Или нужно здесь его копию выложить? :)
Пожалуйста:
  СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = "+Файл;
  СтрокаПодключения = СтрокаПодключения + "; Extended Properties = ""Excel 12.0; HDR=NO; IMEX=1""; ReadOnly=0";
  // Подключаемся
  Об_Конект = Новый COMОбъект("ADODB.Connection");
   Попытка
       Об_Конект.Open(СтрокаПодключения);
   Исключение
       Сообщить("Невозможно подключится к Microsoft Excel Driver!!!
       |Возможно файл ["+Файл+"] открыт другим пользователем.");
       Сообщить(ОписаниеОшибки());
       Возврат;
   КонецПопытки;

Дальше код смысла нет показывать, ибо попытка уходит в исключение. Провайдер скачал и установил. (комп не перезагружал, винда 7). Можно как-нибудь проверить работает ли провайдер?
6 nadvig
 
22.06.12
17:11
не понимаю, зачем люди используют .xls, .xlsx
есть же более безопасный и простой формат .csv
7 aleks-id
 
22.06.12
17:14
теперь давай из под отладчика что у тебя в Попытке в переменной СтрокаПодключения
8 aleks-id
 
22.06.12
17:15
(6) а ты заставь поставщиков например слать тебе электронные копии документов в csv
9 nadvig
 
22.06.12
17:17
я заставлял ))) Говорил, что брандмауэр настроен на блокировку файлов с поддержкой макросов - антивирусная безопасность, политика компании.
10 nadvig
 
22.06.12
17:18
да и трафик меньше
11 aleks-id
 
22.06.12
17:19
(5) ай красава. я чото сразу не заметил даже...
твой код:
СтрокаПодключения = СтрокаПодключения + "; Extended Properties = ""Excel 12.0; HDR=NO; IMEX=1""; ReadOnly=0";

мой код:
СтрокаПодключения = СтрокаПодключения + "; Extended Properties = "+"""Excel 12.0"+";HDR=NO;IMEX=1"";";

попробуй с моим кодом ничего не исправляя
12 Ayvengo
 
22.06.12
17:24
(6) мне мтс не хочет счета давать в csv :(
(11) хм, сейчас попробую, но вроде кроме рид онли ничего не добавлял.
13 Ayvengo
 
22.06.12
17:25
Теперь другая ошибка

{Форма.Форма.Форма(16)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Внешняя таблица не имеет предполагаемый формат.
14 aleks-id
 
22.06.12
17:28
целиком переменную СтрокаПодключения сюда давай
15 Ayvengo
 
22.06.12
17:29
(14) Provider=Microsoft.ACE.OLEDB.12.0; Data Source = c:\278334524953_05.xls; Extended Properties = "Excel 12.0;HDR=NO;IMEX=1";
16 Rie
 
22.06.12
17:34
(13) А какая у тебя структура таблицы?
17 Ayvengo
 
22.06.12
17:36
(16) 1-номер телефона
2-время
3-часовой пояс (бесполезная информация)
4-количество переданной/полученной информации (измеряется в Кб)
5-точка доступа или номер
6-О-исходящее действие; I-входящее
Столбец I - название услуги
Далее стоимость без НДС и с НДС.
18 Rie
 
22.06.12
17:38
(17) А между F и I что?
19 Ayvengo
 
22.06.12
17:39
В общем проблема была не в строке подключения, а в самом файле.. скопировал все данные, вставил в другой файл экселя и все ок.