Microsoft.Office.Interop.Excel незарегистрированная DLL

С использованием Microsoft.Office.Interop.Excel.dll приводит к следующей ошибке:

Произошло необработанное исключение типа 'System.Runtime.InteropServices.COMException' в mscorlib.dll

Дополнительная информация: не удалось получить фабрику класса COM для компонента с CLSID {00020819-0000-0000-C000-000000000046} из-за следующей ошибки: 80040154 Klasse nicht registriert (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Ошибка происходит в четвертой строке этого кода:

 using EX = Microsoft.Office.Interop.Excel;

 private void LoopBANFDokumenteLibrary(System.Uri Link)
 {
        EX.Application MSExcel = new EX.Application();
        EX.Workbook WB = MSExcel.Workbooks.Add(new EX.Workbook()); //ERROR: Exception thrown
        EX.Worksheet WS = WB.Worksheets.Add(new EX.Worksheet());
        /*...and further code...*/
 }

Несколько лет назад я ежедневно использовал этот Interop.Excel.DLL, и у меня никогда не было этой проблемы. Открывая regedit.exe, dll регистрируется, как вы можете видеть на этом скриншоте:

смерзаться

У кого-нибудь есть идея, что не так?

С уважением и спасибо, Ян

1 ответ

Решение

+ Изменить

EX.Workbook WB = MSExcel.Workbooks.Add(new EX.Workbook());

в

EX.Workbook WB = MSExcel.Workbooks.Add();

Аналогично используйте

EX.Worksheet WS = WB.Worksheets.Add();
Другие вопросы по тегам