|
Ошибка при открытии файла Ексель | ☑ | ||
---|---|---|---|---|
0
Eeelena
22.09.14
✎
01:17
|
Делаю обработку, которые считывает данные из файла Ексель, сначала все работало нормально, данные считывались и заполнялись в таблицу значений, потом почему то возникла ошибка при открытии файла Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Неопознанная ошибка 1с 8.3. Подскажите, пожалуйста, в чем может быть проблема?
Код функции: Функция ПолучитьТЗИзEXCEL(ПутьКФайлу, ИмяНомерСтраницы, Заголовок = Истина, ПерваяСтрока = 0) Экспорт ИмяНомерСтраницы=1; ПерваяСтрока = 0; ТЗ = Новый ТаблицаЗначений; #Если Клиент Тогда Состояние("Подключение к файлу Excel..."); #КонецЕсли // Попытка Эксель = Новый COMОбъект("Excel.Application"); Версия = СтрПолучитьСтроку(СтрЗаменить(Эксель.Version, ".", Символы.ПС), 1); Исключение //СообщениеТекста("Ошибка подключения к "+ПутьКФайлу+" : "+ОписаниеОшибки(),,СтатусСообщения.Важное); Возврат ТЗ; КонецПопытки; // Книга = Эксель.WorkBooks.Open(ПутьКФайлу); // Выбираем данные запросом из таблицы файла по имени страницы Если ТипЗнч(ИмяНомерСтраницы) = Тип("Число") Тогда Лист = Книга.WorkSheets(ИмяНомерСтраницы); ИмяСтраницы = Лист.Name; Иначе ИмяСтраницы = ИмяНомерСтраницы; КонецЕсли; // // Определим диапазон данных Excel ПослЯчейка = СтрЗаменить(Книга.WorkSheets(ИмяСтраницы).Cells(1,1).SpecialCells(11).Address, "$", ""); // Эксель.Application.Quit(); // Эксель = неопределено; Книга = неопределено; Лист = неопределено; // Подлючаемся Connection = Новый COMОбъект("ADODB.Connection"); Если Версия = "12" ИЛИ Версия = "14" Тогда СтрокаПодключения ="Provider =Microsoft.ACE.OLEDB.12.0;Data Source="+ПутьКФайлу+";Extended Properties=""Excel 12.0 Xml;HDR="+?(Заголовок,"YES","NO")+";IMEX=1"""; Иначе СтрокаПодключения ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ПутьКФайлу+";Extended Properties=""Excel 8.0;HDR="+?(Заголовок,"YES","NO")+";IMEX=1"""; КонецЕсли; Попытка Connection.Open(СтрокаПодключения); Исключение //ПолучитьCOMОбъект(ИмяФайла, "Excel.Application"); Сообщить(ОписаниеОшибки()); Возврат ТЗ; КонецПопытки; Command=Новый COMОбъект("ADODB.Command"); Command.ActiveConnection=Connection; Command.CommandText = ?(ПерваяСтрока = 0, "Select * From [" + ИмяСтраницы + "$]", "Select * From [" + ИмяСтраницы + "$A" + ПерваяСтрока + ":" + ПослЯчейка + "]"); Попытка Записи=Command.Execute(); Исключение //Сообщить("Ошибка при выполнении запроса!"+ОписаниеОшибки(), ,СтатусСообщения.ОченьВажное); Возврат ТЗ; КонецПопытки; Для НомерПоля = 0 По Записи.Fields.Count-1 Цикл СтрКолонка = Строка(Записи.Fields.Item(НомерПоля).Name); СтрКолонка = СтрЗаменить(СтрКолонка,"№","Num"); НедопустимыеСимволы = " ~`!@""#№$;%^:&?*()-+=/\|.,"; Для i = 1 По СтрДлина(НедопустимыеСимволы) Цикл СтрКолонка = СтрЗаменить(СтрКолонка, Mid(НедопустимыеСимволы, i, 1), "_") КонецЦикла; ИмяКолонки = СокрЛП(СтрКолонка); ТЗ.Колонки.Добавить(ИмяКолонки, , СтрКолонка); КонецЦикла; Пока НЕ Записи.EOF() Цикл НоваяСтрока = ТЗ.Добавить(); Для НомерПоля = 0 По Записи.Fields.Count-1 Цикл НоваяСтрока[НомерПоля] = Записи.Fields(Записи.Fields.Item(НомерПоля).Name).Value; КонецЦикла; Записи.MoveNext(); КонецЦикла; Command = Неопределено; Записи = Неопределено; Возврат ТЗ; КонецФункции |
|||
1
Cube
22.09.14
✎
04:50
|
А де фотка? :)
|
|||
2
sFAQer
22.09.14
✎
06:38
|
(0) а в пути к файлу лежит?
|
|||
3
Wobland
22.09.14
✎
06:41
|
как насчёт открывания в попытке и сообщения описания ошибки в исключении? после (1), конечно
|
|||
4
tixis
22.09.14
✎
07:22
|
(0) файл уже открыт
|
|||
5
Мимохожий Однако
22.09.14
✎
07:25
|
(4)+ посмотри в панели задач запущенные экземпляры Excel и удали их. Потом проверь заново.
|
|||
6
Eeelena
22.09.14
✎
07:32
|
(5) смотрю в диспетчере задач, процессы ексель никакие не висят. (2) в пути лежит D:\home\tyum\Desktop\Пример из галактики.xlsx
|
|||
7
Wobland
22.09.14
✎
07:33
|
(6) и на сервере он там есть?
|
|||
8
Eeelena
22.09.14
✎
07:38
|
(7) ну да
|
|||
9
Eeelena
22.09.14
✎
07:40
|
(7) просто очень странно сначала нормально открывалось, а потом почему то перестало, а в чем причина понять не могу(
|
|||
10
Wobland
22.09.14
✎
07:40
|
(8) ну давай описание ошибки. после (1), конечно
|
|||
11
Eeelena
22.09.14
✎
07:44
|
(10) Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Неопознанная ошибка
|
|||
12
sFAQer
22.09.14
✎
08:20
|
(0) Excel x64?
|
|||
13
sFAQer
22.09.14
✎
08:22
|
(0) C:\Windows\SysWOW64\config\systemprofile\Desktop
|
|||
14
sFAQer
22.09.14
✎
08:23
|
(13) C:\Windows\System32\config\systemprofile\Desktop
Вот по этим путям проверь наличие этих папок, если нету, создай пустые |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |