2013-07-23 31 views
10

Mam aplikację WinForms C# i po prostu próbuję otworzyć arkusz programu Excel. Kiedy próbuję dodać odniesienie do Microsoft.Office.Interop, część "Office" jest czerwona i mówi "Nie można rozwiązać symbolu" Office "".Nie można uzyskać odwołania Microsoft.Office.Interop do pracy

Gdy próbuję budować, błąd jest:

The type or namespace name 'Office' does not exist in the namespace 'Microsoft' 
    (are you missing an assembly reference?) 

mam zainstalowanego pakietu Office 2012, a myślę, że mam zainstalowane podstawowe zestawy międzyoperacyjne ... ale nie jestem pozytywne.

Wiem, że to powinno być takie proste, ale szukałem odpowiedzi na to przez prawie godzinę i po prostu nie mogę tego rozgryźć. Z góry dziękuję!

+1

Być może jest to wersja pakietu Office. Miałem ten sam problem w VS2010 z zainstalowanym pakietem Office 2010, działało tylko z pakietem Office 2007. – nathanchere

Odpowiedz

17

Musisz dodać odniesienie do swojego projektu. (Zakładając Visual Studio 2010)

W eksploratorze rozwiązań możesz kliknąć drzewo referencji prawym przyciskiem myszy i wybrać "dodaj referencję". Wybierz kartę .NET i wyszukaj "Microsoft.Office. [...]" Komponenty. Dodaj te, które potrzebujesz. Wydaje mi się, że Excel może wystarczyć (może być konieczne wykonanie prób i błędów na których).

References http://oi39.tinypic.com/65010w.jpg

Reference Add Box http://oi40.tinypic.com/260qv7b.jpg

1

Myślę, że brakuje informacji o bibliotece DLL. Dodaj Microsoft.Office.Interop.Excel.dll do referencji projektu, a następnie spróbuj.

+0

ten odnośnik zawiera dokładnie ten sam problem. Nie można rozwiązać symbolu "Office" –

+0

@BenStrombeck, Zobacz odpowiedź Matthew powyżej, aby dodać odwołanie do dll do projektu. –

-2

Musisz zainstalować pakiet Office 2013, aby oczyścić ten błąd kompilacji.

+0

Ten błąd dotyczy budowania kodu, który został napisany w innym miejscu w nowej lokalizacji (np. Serwer). To była jedyna poprawka dla mojego problemu na ten temat. – Oli4

2

Tego samego błędu miałem dziś rano, z aplikacją WinForm, która zawsze doskonale układała się w przeszłości. Wszystko, co się zmieniło, to fakt, że nasza firma zaktualizowała nasze laptopy z Excela 2007 do Excela 2013.

Po pewnym dochodzeniu zdałem sobie sprawę, że aplikacja była aplikacją .Net 3.5, i chociaż Eksplorator rozwiązań zasugerował, że wszystkie referendje były fine ..

Solution Explorer

... faktycznie, nie byli. Znak tell-tail było to, że kiedy próbowałem ponownie dodać odniesień w aplikacji, nie mogli znaleźć ...

Interop

Co muszę zrobić to:

  • zaktualizować aplikację z .Net 3.5 do .Net 4.5
  • usunięcie odniesień związanych Office-(pierwsze 5 Pokazane w moim pierwszym zrzucie ekranu powyżej)
  • ponownie dodać referencje (teraz pokazane w wersji 14 lub 15)

miałem też zmienić jedna linia kodu z:

excel = new Excel.ApplicationClass(); 

do

excel = new Excel.Application(); 

Raz” d zrobił to, aplikacja została zbudowana bez błędów i działała z powodzeniem.

0

Łatwiejszy sposób, aby dodać ten pakiet w VS 2015:

na linii kodu przy użyciu pakietu naciśnij „Alt + Enter”, a następnie wybierz „Znajdź nazw na nuget.org” enter image description here

zainstalować go i cieszyć :) enter image description here

4

Używaj Nuget Package Manager w VS2015

  • prawo cl referencje ICK w swojej wizualnej projektu studio
  • wybierz Zarządzaj Nuget Pakiety
  • Rodzaj microsoft.office w polu wyszukiwania
  • Wybierz Microsoft.Office.Interop.Excel
  • Kliknij Zainstaluj
  • odbudować rozwiązanie
Powiązane problemy