Имя: Пароль:
1C
1С v8
Не загружается Excel-файл
,
0 EvJ1720
 
25.08.17
12:42
Добрый день,подскажите решение проблемы. Админы переустановили офис на сервере и перестала работать выгрузка из экселевских файлов формата .xlsx (А может и раньше не работала, а попадались только .xls)
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Метод Open из класса Workbooks завершен неверно.

Код, в общем-то, стандартный:
        Попытка
        Excel = Новый COMОбъект("Excel.Application");
        Excel.WorkBooks.Open(ИмяФайла);
        ExcelЛист = Excel.Sheets(1);
    Исключение
        ТекстОшибки = ОписаниеОшибки();
    КонецПопытки;
1 EvJ1720
 
25.08.17
12:43
Папки
C:\Windows\SysWOW64\config\systemprofile\Desktop

C:\Windows\System32\config\systemprofile\Desktop
создал. Не помогло.
2 Мимохожий Однако
 
25.08.17
12:48
Попробуй закомментировать
ExcelЛист = Excel.Sheets(1);
...
попробуй читать без Excel через ТабДок.Прочитать(ИмяФайла)
3 Мимохожий Однако
 
25.08.17
12:48
Какая платформа? Какая разрядность сервера 1С? Клиента?
4 EvJ1720
 
25.08.17
13:01
(3) 8.3.9.2170, 64-х, 32-х
5 EvJ1720
 
25.08.17
13:41
(2) Что-то не понял, так что ли:
Попытка    
        ТабДок = Новый ТабличныйДокумент();
        ТабДок.Прочитать(ИмяФайла);
    Исключение
        ТекстОшибки = ОписаниеОшибки();
    КонецПопытки;
Выглядит странно и так не работает.
6 VS-1976
 
25.08.17
14:29
Кто-то не знает API эксела...

Excel = Новый COMОбъект("Excel.Application");
Book = Excel.WorkBooks.Open(ИмяФайла);
Sheet = Book.Sheets(1);
7 EvJ1720
 
25.08.17
14:57
(6) Попробовал так. Аналогичная ошибка вылетает.
8 VS-1976
 
25.08.17
15:02
(7) 1. Посмотри нет ли в процессах висящего бинарника excel под пользователем под которым выгружаешь ( может блокировать книгу ).
2. Проверь не заблокирована ли эта книга ( сам открыл ). Попробуй открыть, если скажет что только для чтения, то будет сбоить на открытии.
9 EvJ1720
 
25.08.17
15:14
(8) При открытии файл пишет"Обнаружено содержимое которое не удалось прочитать" Ранее не обратил на это внимание. Видимо просто битый файл попался.
10 pessok
 
25.08.17
15:16
блин, ну зачем в наше время морочиться с COMом экселя?
платформу прекрасно сама умеет всё считывать
11 VS-1976
 
25.08.17
15:25
(10) Можно платформой и ADO ( через запросы к exel ) но если нужно сохранить оформление то без OLE тут никак...
12 pessok
 
25.08.17
15:29
(11) ну, всё же, в 98% случаев мы грузим из экселя для получения данных