У меня есть этот код на моем сервисе:
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, но по некоторым причинам это не сработало. Может ли кто-нибудь помочь мне найти решение