3 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 54
1

Interop.Microsoft.Office.Interop.Excel

08.11.2019, 14:53. Показов 18097. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Собственно есть Win10, Visual Studio 2019, есть MS Office 2007 с установленным Excel.
При попытке подключиться к Excel вылезает ошибка "Could not load file or assembly "Interop.Microsoft.Office.Interop.Excel, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null"" и прочее.
Ссылка на библиотеку добавлена (Microsoft Excel 12.0 Object Library версия 1.6). Цепляется из папки с офисом из файла Excel.exe.
В "C:\Windows\assembly" Microsoft.Office.Interop.Excel присутствует.
Весь код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using Excel = Microsoft.Office.Interop.Excel;
 
namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            Excel.Application wordApp = new Excel.Application();
        }
    }
}
DLL-ка Interop.Microsoft.Office.Interop.Excel.dll в папке Debug появляется после запуска. Наличие какого-либо осмысленного кода для работы с экселем ничего не дает, т.к. до него дело не доходит.

Единственное, что я заметил, это отличие версии в "C:\Windows\assembly" (12.0.6600.1000) от той, которая отображается в проекте (12.0.6771.5000).

PS. Да, я находил темы про эту же ошибку, но не нашел в них решения.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2019, 14:53
Ответы с готовыми решениями:

Microsoft.Office.Interop.Excel
Доброго времени суток! Делаю гистограмму, есть код: var XL1 = new Application(); ...

Как подключить microsoft.office.interop.excel
Добрый день. У меня такой вопрос: Во время написания курсовой работы по программированию,...

Работа с документами Excel без Microsoft.Office.Interop.Excel
всем добрый день все дело в том что для своих программ я использую БД Excel но! однако не все...

Некорректная работа с Microsoft.office.interop.excel.dll на других ПК
Всем добра! Понимаю, тема уже избита и много раз обсуждалась, но все же хотелось уточнить раз и...

12
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
08.11.2019, 16:57 2
LandLubber, попробуйте установить с NuGet https://stackoverflow.com/a/15285939
0
3 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 54
11.11.2019, 15:21  [ТС] 3
В общем со стандартными ссылками на библиотеки, что подтягиваются в VS для 2007 офиса, ничего не вышло.
Заработало после ручного указания библиотеки из папки "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office14".
0
1468 / 1009 / 456
Регистрация: 30.10.2017
Сообщений: 2,800
11.11.2019, 16:36 4
А через менеджер ссылок -> COM -> Microsoft Excel 12.0 Object Library пробовали подцепить?
0
es geht mir gut
11271 / 4753 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.11.2019, 16:44 5
Попробуйте позднее связывание, ничего подключать не надо, и на версии не надо смотреть, подсказок только не будет.
0
3 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 54
11.11.2019, 16:52  [ТС] 6
А через менеджер ссылок -> COM -> Microsoft Excel 12.0 Object Library пробовали подцепить?
Именно Microsoft Excel 12.0 Object Library и пробовал цеплять. Не прокатило.
0
1468 / 1009 / 456
Регистрация: 30.10.2017
Сообщений: 2,800
11.11.2019, 16:55 7
Цитата Сообщение от LandLubber Посмотреть сообщение
Цепляется из папки с офисом из файла Excel.exe.
LandLubber, просто меня смутила эта фраза, тогда как из менеджера ссылок должна цепляться из assembly.
0
es geht mir gut
11271 / 4753 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.11.2019, 17:05 8
Попробуйте всё-таки, только отключите все что наподключали.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
      static void Main(string[] args)
        {
            dynamic Excel = Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application"));
            var wb = Excel.Workbooks.Add();
            Excel.DisplayAlerts = false;
            var sh = wb.Sheets[1];
            sh.Cells[1, 1].value = "123";
            Excel.visible = true;
            wb.SaveAs("C:\\tmp\\123.xlsx");
            wb.Close(false);
            Excel.DisplayAlerts = true;
            Excel.Quit();
 
        }
0
3 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 54
11.11.2019, 17:35  [ТС] 9
Попробуйте всё-таки, только отключите все что наподключали.
Ошибок при запуске не выдает, но и ничего не происходит. Файл не появляется.

Добавлено через 1 минуту
Цитата Сообщение от QuakerRUS Посмотреть сообщение
LandLubber, просто меня смутила эта фраза, тогда как из менеджера ссылок должна цепляться из assembly.
Microsoft Excel 12.0 Object Library в списке присутствует, но если навести на нее, то путь указан до Excel.exe

Добавлено через 20 минут
Цитата Сообщение от SoftIce Посмотреть сообщение
Попробуйте всё-таки, только отключите все что наподключали.
Пардоньте, лишнего скопировал, вот ничего и не происходило. При выполнении указанного кода вылезает RuntimeBinderException "'System.__ComObject' does not contain a definition for Workbooks"
0
es geht mir gut
11271 / 4753 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.11.2019, 18:22 10
LandLubber, это на какой строке ошибка ?
0
3 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 54
11.11.2019, 18:33  [ТС] 11
Цитата Сообщение от SoftIce Посмотреть сообщение
var wb = Excel.Workbooks.Add();
На этой
0
es geht mir gut
11271 / 4753 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.11.2019, 18:46 12
То есть, объект Excel создаётся.
0
3 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 54
11.11.2019, 18:49  [ТС] 13
Цитата Сообщение от SoftIce Посмотреть сообщение
То есть, объект Excel создаётся.
Если оставить только строку
C#
1
dynamic Excel = Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application"));
то да, компилится без ошибок.
0
11.11.2019, 18:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2019, 18:49
Помогаю со студенческими работами здесь

Где взять справочник функций сборки Microsoft.Office.Interop.Excel?
Имеется код, где используется сборка Microsoft.Office.Interop.Excel using System; using...

Не могу найти в менеджере ссылок сборку "Microsoft.Office.Interop.Excel"
Пытаюсь подключить сборку "Microsoft.Office.Interop.Excel" Подключил COM "Microsoft Excel 16.0...

Microsoft.Office.Interop для всех версий MS Office
Здравствуйте! Нашёл кучу околоподобных тем, но без нужных решений. Задача такая: Пишу на C#...

Невозможно загрузить файл или сборку "Microsoft.Office.Interop.Excel" при переносе приложения на другой ПК
есть приложение Windows Form. На форме есть button, при нажатии на который некоторые данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru