2012-05-07 3 views
85

Я заинтересован в использовании C# для управления/автоматизации файлов Excel.Какую ссылку мне нужно использовать Microsoft.Office.Interop.Excel в .NET?

После просмотра в Интернете я нашел VSTO, но, похоже, вы не можете использовать его в Visual Studio Express Edition, поэтому я не могу его использовать.

Всего несколько минут назад я заметил, что вопрос в этом месте, который использовал это пространство имен в его коде:

Microsoft.Office.Interop.Excel

Так мне интересно, если все, что мне нужно использовать это добавить необходимую ссылку, и если да, то какую ссылку добавить?

UPDATE

Я установил «Primary Interop Ассамблей», как принято отвечать предложил, но по какой-то причине они все еще отсутствуют в справочном окне Add в разделе «.NET», но они присутствуют в GAC.

Поэтому я просто добавил ссылку, используя «Обзор», и нашел Microsoft.Office.Interop.Excel.dll в папке GAC.

Но ищем похожие вопросы на этом сайте относительно добавления ссылки от GAC, кажется, это не рекомендуется.

ответ

76

Update (спасибо user2347528)

Эти сборки доступны в виде пакетов NuGet, что гораздо проще, чем мой первоначальный ответ.

Вы можете установить любой правой кнопкой мыши на Ссылки в проекте и выберите Управление пакетами NuGet ... и поиск по одному из пакетов, перечисленных ниже, или установить с помощью менеджера пакетов консоли:

PM> Install-Package Microsoft.Office.Interop.Excel 

Они доступны как "Primary Interop Ассамблей", которая может быть установлена ​​с Office, или загрузить и установить отдельно. How to: Install Office Primary Interop Assemblies.

Как только они установлены, вы можете ссылаться на них в своем проекте в диалоговом окне «Добавить ссылку» в разделе «.NET». Если вы не видите перечисленные сборки Microsoft.Office.Interop, они еще не установлены. Установите их из своей установки или загрузите и установите их отдельно (см. Мою ссылку выше для загрузки).

+0

Я нашел кучу компонентов на вкладке «Ком» с именем Microsoft Office ... Это они? – user850010

+1

Это COM-службы, которые Visual Studio может создавать сборки .NET interop для. Не рекомендуется использовать их; вы должны использовать сборки PIA, выпущенные из Microsoft. Они должны отображаться на вкладке .NET в диалоговом окне «Добавить ссылки». Если вы их не видите, вам нужно установить PIA из своей установки Office или загрузить их отдельно, как я связал в своем ответе. – HackedByChinese

+2

@HackedByChinese Я не вижу никакой вкладки .NET в диалоговом окне добавления ссылок – Houseman

3

Если у вас установлен Microsoft Office, вы должны добавить ссылку на Interop.Excel.

Например, на ПК, на котором я печатаю это, есть MSVS 2010 C# Express и Office 2010.Я могу добавить ссылку на Microsoft.Office.Interop.Excel 11.0.0.0.

«Надежда, что помогает

9

Просто добавьте ссылку на Microsoft.Office.Interop.Excel.

Включает в себя классы, связанные с Microsoft MicroSoft, не нужно добавлять дополнительные ссылки.

+1

Это первое, что я пробовал. Но часть «Office» не найдена. – user850010

+0

На самом деле была та же проблема, что и @ user850010, но, наконец, понял, что я щелкнул правой кнопкой мыши и добавил в папку ссылок неправильный проект в моем решении. – User

+0

Это не работает для меня? Как ты получил это? –

4

Я предполагаю, что вы пытаетесь добавить Microsoft.Office.Interop.Excel с заявлением using без добавления ссылки в ваше приложение, в этом случае его не будет найдено. Прежде чем позвонить ему с заявлением using, вам нужно добавить ссылку на приложение ur. Щелкните правой кнопкой мыши по References и добавьте ссылку Excel Interop.

2

Это супер твердое решение, вам просто нужно иметь excell.dll в папке Debug/Release Mine - 77,824 байт, я загрузил его как файл, это также объясняет, почему некоторые люди скомпилировали Debug, но Release not or vice наоборот.

Trento

47

Просто была эта проблема сама и приняла решение не помогло мне, но я решил его:

Add reference > Browse > C: > Windows > assembly > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_etc > Microsoft.Office.Interop.Excel.dll

+2

Я искал это решение повсюду. –

+0

Рад, что это помогло. =) – Robert

+3

Спасибо за подсказку. Искренне иронично, что сами Microsoft не могут получить эту работу надежно - 2014, и мы по-прежнему ссылаемся на .dlls ... –

4

Добавить ссылку> Обзор> C:> Windows> сборка> GAC > Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll

3

его в компоненте ком, по имени: "Microsoft Office 14 Object Library"

+1

VS2010: добавление ссылки на COM в «Библиотека объектов Microsoft Office 14» добавляет ссылку на «Microsoft.Office.Core». Лучше: используйте ссылку COM «Библиотека объектов Microsoft Excel 14.0». Он указывает непосредственно на установленный исполняемый файл Excel, но будет отображаться как ссылка на «Microsoft.Office.Core» и «Microsoft.Office.Interop.Excel». Если вам нужно только запустить и развернуть на компьютерах, на которых установлен Excel. –

23

Ответы не помогли мне решить мою проблему, я не смог найти (и просмотреть) сборки, хотя я установил их с помощью установщика MSI от Microsoft. Для меня сборник excel находится под C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll

+0

После того, как я попробовал папку GAC, GAC_32 и GAC_64, я думал, что она никогда не будет в последней папке GAC_MSIL. Но это было. Спасибо за ваш комментарий. Отлично работает для меня! –

+0

Лучший ответ, спасибо – Leebeedev

+0

Самый простой и лучший ответ. Спасибо приятель. –

2

У меня была такая же проблема, но ни один из этих ответов не помог мне. Я нашел dll на моем компьютере в месте, где Мотей отметил: (C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll), но это не тот, на который ссылались в проекте, который я пытался получить.

Ссылка в нашем проекте в Visual Studio 2012 указывала на C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\. Это место было пустым для меня, но оно отлично работало для всех остальных. Потребовалось несколько попыток, но я, наконец, выследил рабочий установщик. Надеюсь, это избавит других от таких же хлопот!

->Office Tools Bundle installer for VS2012 < -

Это был расположен на Office Documentation and Download странице. Прокрутите вниз до Инструменты Загрузки. Там также есть один для VS2013.

2

Я нашел его в разделе Ассембли-> Расширения в VS2013.

Add Reference

1

1.Download и установить: Microsoft Office Tools Developer

ссылки 2.Add от:

C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Visual Studio Tools for Office \ PIA \ Office15

1

У меня была такая же проблема, и Microsoft.Office.Interop не появлялся в опции «Добавить ссылку» после обновления VS2012 до VS2015. Я в основном отремонтировал установку (Панель управления> Программы & Функции> VS 2012> Щелкните правой кнопкой мыши Изменить> Восстановить) и добавлен компонент Microsoft Office. После этого началось то же самое решение.

3

Лучший вариант, поскольку офис 2007 использует для этого Open XML SDK. Мы использовали Word.Interop, но иногда он останавливался, и Microsoft не рекомендует использовать его в качестве форматирования документа на стороне сервера, поэтому Open XML SDK позволяет легко создавать текстовые документы в форматах DOCX и Open XML. Это позволяет вам хорошо справляться с масштабируемостью, уверенностью (файлы, если они повреждены, могут быть перестроены), а также другие очень тонкие характеристики.

Смежные вопросы