|
Чтение 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
|
В общем проблема была не в строке подключения, а в самом файле.. скопировал все данные, вставил в другой файл экселя и все ок.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |