Как исправить ошибку взаимодействия, если у вас не установлен Microsoft Office

У меня есть этот код на моем сервисе:

Application xlsApp = new Application();
xlsApp.Visible = false;
Workbook wb = xlsApp.Workbooks.Open(dictionaryPath);
Sheets sheets = wb.Worksheets;
Worksheet ws = (Worksheet)sheets.get_Item(1);
var numberOfRows = ws.UsedRange.Columns["A"].Rows.Count;
var firstCol = ws.Range[dictionaryColumn + "1:" + dictionaryColumn + numberOfRows];
values = firstCol.Value as Array;

И когда я запускаю, потому что на моем сервере не установлен Microsoft Office, я получаю эту ошибку:

System.Runtime.InteropServices.COMException (0x80040154): не удалось получить фабрику классов COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} из-за следующей ошибки: 80040154 класс не зарегистрирован (исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG) )).

в System.RuntimeTypeHandle.CreateInstance (тип RuntimeType, логическое значение publicOnly, логическое значение noCheck, логическое значение и canBeCached, RuntimeMethodHandleInternal и ctor, логическое значение и bNeedSecurityCheck)

в System.RuntimeType.CreateInstanceSlow (логическое значение publicOnly, логическое значение skipCheckThis, логическое значение fillCache, StackCrawlMark и stackMark)

at System.RuntimeType.CreateInstanceDefaultCtor (логическое значение publicOnly, логическое значение skipCheckThis, логическое значение fillCache, StackCrawlMark и stackMark)

в System.Activator.CreateInstance (тип типа, логическое значение nonPublic)

в System.Activator.CreateInstance (тип типа)

И я знаю, что одним из решений является установка Microsoft Office, но мне не разрешено это делать, поэтому есть ли другой способ получить доступ к Excel, а не устанавливать Microsoft Office. Я использую COM Interop, и он включен в проект. Я также пытался установить Open XML SDK 2.5, но по некоторым причинам это не сработало. Может ли кто-нибудь помочь мне найти решение


person Argjent    schedule 25.07.2019    source источник
comment
Вы не можете. Если вам просто нужны данные (без форматирования), используйте oledb   -  person jdweng    schedule 25.07.2019
comment
Возможный дубликат Как использовать Microsoft.Office.Interop.Excel на машине без установленного MS Office?   -  person Sergey Sheff    schedule 25.07.2019