Взаимодействие с Excel из Windows Служба cra sh в EXCEL.EXE, Версия: 16.0.4966.1000, Модули: oart.dll, Версия: 16.0.4900.1000 - PullRequest
0 голосов
/ 18 февраля 2020

Пожалуйста, не комментируйте, что режим взаимодействия с Windows Сервис не поддерживается, я знаю это. : -)

У меня есть файл Excel с таблицами и диаграммами. Он работает в течение нескольких лет под Windows Server 2012R2 с Excel 2003 в качестве службы Windows в режиме взаимодействия без каких-либо проблем.

После перехода на Windows Server 2019 и Excel 2016 его больше нельзя было открыть этот файл со следующим кодом:

Application excelApp = new Application();
Workbooks  workBooks = excelApp.Workbooks;
workBook = workBooks.Open(<Path To Excel-File>, 0, false, 5,
     Missing.Value, Missing.Value, true, XlPlatform.xlWindows, "\t", true, false, 0, true);

Это приводит к моей обработке ошибок в:

System.Runtime.InteropServices.COMException (0x80010105): The server threw an exception. 
(Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))

и журнал событий показывает:

Name der fehlerhaften Anwendung: EXCEL.EXE, Version: 16.0.4966.1000, Zeitstempel: 0x5e205905
Name des fehlerhaften Moduls: oart.dll, Version: 16.0.4900.1000, Zeitstempel: 0x5d53033a
Ausnahmecode: 0xc0000005
Fehleroffset: 0x0006e67e
ID des fehlerhaften Prozesses: 0x1a38
Startzeit der fehlerhaften Anwendung: 0x01d5e64d380ea691
Pfad der fehlerhaften Anwendung: C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE
Pfad des fehlerhaften Moduls: C:\Program Files (x86)\Microsoft Office\Office16\oart.dll
Berichtskennung: b6eee871-9dca-4ddc-8d4b-cdd9f58f871b

1 Ответ

0 голосов
/ 18 февраля 2020

После нескольких часов тестирования с моим файлом я создал новый файл Excel, и было без проблем открыть его и прочитать или записать данные в ячейки. После того, как я удалил все больше и больше таблиц и диаграмм из своего файла, я наконец нашел причину cra sh:

Есть ли в каком-либо графике или таблице встроенное изображение, которое невозможно открыть? файл с Interop из Windows Service.

Никогда не было проблем открыть файл (с внутренними изображениями) с тем же кодом с помощью командной строки Application.

Но возможно поместить изображения в верхний или нижний колонтитул. Это не проблема. Сумасшедший.

...