Я работаю над приложением, которое должно импортировать данные из Excel.
Мое решение использует Microsoft.office.Interop.Excel.
Но я получаю эту ошибку при отладке:
Сообщение = Невозможно привести COM-объект типа
«Microsoft.Office.Interop.Excel.ApplicationClass» для типа интерфейса
'Microsoft.Office.Interop.Excel._Application. Эта операция не удалась
потому что QueryInterface вызов COM-компонента для интерфейса
с IID '{000208D5-0000-0000-C000-000000000046}' не удалось из-за
следующая ошибка: Ошибка загрузки библиотеки типов / DLL. (Исключение из
HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY))
Ниже мой код:
Imports Excel = Microsoft.office.Interop.Excel
Private Sub BExcel1_Click(sender As Object, e As EventArgs) Handles BExcel1.Click
OpenFileDialog1.Filter = "Excel Files|*.xlsx; *.xls; *.xlsm"
If (OpenFileDialog1.ShowDialog() = DialogResult.OK) Then
ExcelPath1.Text = OpenFileDialog1.FileName
End If
Dim XlApp As New Excel.Application
Dim XlWorkBook As Excel.Workbook
Dim XlWorkSheet As Excel.Worksheet
XlWorkBook = XlApp.Workbooks.Open(ExcelPath1.Text)
End Sub
Я гуглил, чтобы найти некоторые решения (как указано ниже), но они не сработали:
- Я отремонтировал офис
- Я восстановил Visual Studio
- Я использовал редактор реестра для проверки
Computer\HKEY_CLASSES_ROOT\TypeLib\
, но под 00020813-0000-0000-C000-000000000046
я получил только одну версию 1.9, похоже, что конфликт между двумя версиями не похож?
Есть идеи, как решить эту проблему?
VS version:2017 community
Excel version:2016
Microsoft.Office.Interop.Excel version:15.0.0.0