.NET에서 Microsoft.Office.Interop.Excel을 사용하려면 어떤 참조가 필요합니까?


102

C #을 사용하여 Excel 파일을 조작 / 자동화하는 데 관심이 있습니다.

웹을 탐색 한 후 VSTO를 찾았 지만 Visual Studio Express Edition에서는 사용할 수없는 것 같아서 사용할 수 없습니다.

몇 분 전에이 사이트에서 코드에이 네임 스페이스를 사용한 질문을 발견했습니다.

Microsoft.Office.Interop.Excel

그래서 필요한 참조를 추가하는 것이 필요한지 궁금합니다. 그렇다면 어떤 참조를 추가해야합니까?

최신 정보

허용 된 답변으로 "Primary Interop Assemblies"를 설치했지만 어떤 이유로 ".NET"아래의 참조 추가 대화 상자에 여전히 누락되어 있지만 GAC에 있습니다.

그래서 방금 "찾아보기"를 사용하여 참조를 추가하고 Microsoft.Office.Interop.Excel.dllGAC 폴더에 있습니다.

그러나 GAC에서 참조를 추가하는 것과 관련하여이 사이트에서 유사한 질문을 찾는 것은 권장되지 않는 것 같습니다.

답변:


102

업데이트 (user2347528에게 감사드립니다)

이러한 어셈블리는 NuGet 패키지로 제공되며 원래 답변보다 훨씬 쉽습니다.

프로젝트 에서 참조 를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리 ...를 선택 하고 아래 나열된 패키지 중 하나를 검색하여 설치하거나 패키지 관리자 콘솔을 사용하여 설치할 수 있습니다.

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

Office와 함께 설치하거나 별도로 다운로드하여 설치할 수있는 "기본 Interop 어셈블리"로 사용할 수 있습니다. 방법 : Office 기본 Interop 어셈블리 설치 .

설치가 완료되면 .NET 아래의 참조 추가 대화 상자에서 프로젝트에서 참조 할 수 있습니다. 이러한 Microsoft.Office.Interop 어셈블리가 나열되지 않으면 아직 설치되지 않은 것입니다. 설정에서 설치하거나 별도로 다운로드하여 설치하십시오 (다운로드는 위의 내 링크 참조).


Microsoft Office라는 "Com"탭에서 여러 구성 요소를 찾았습니다.
user850010

1
Visual Studio에서 .NET interop 어셈블리를 생성 할 수있는 COM 서비스입니다. 그것들을 사용하는 것은 권장하지 않습니다. Microsoft에서 출시 한 PIA 어셈블리를 사용해야합니다. 참조 추가 대화 상자의 .NET 탭에 표시되어야합니다. 표시되지 않으면 Office 설정에서 PIA를 설치하거나 내 답변에 링크 된대로 별도로 다운로드해야합니다.
moribvndvs

2
나는 추가 참조 대화 상자에서 모든 .NET 탭이 표시되지 않는 @HackedByChinese

1
Visual Studio 2013에서는 참조 추가 창의 왼쪽 메뉴에있는 어셈블리-> 확장에서 이러한 참조를 찾았습니다.
Benjamin Ray

1
Windows 2012 서버에 Microsoft.Office.Interop.Excel.dll을 사용하는 C # 프로그램을 설치하려고합니다. 이 프로그램은 Windows 7 PC에서 잘 작동하지만 서버에 PIA를 설치 한 후에도 System.Runtime.Interop.COM 구성 요소가 누락되었다는 오류 메시지가 계속 나타납니다. Excel.Application () 개체를 인스턴스화하려고하면 프로그램이 중단됩니다. 내가 놓친 다른 것이 있습니까?
Melanie

50

이 문제를 직접 겪고 받아 들인 대답이 도움이되지 않았지만 다음과 같이 해결했습니다.

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


2
나는 모든 곳에서이 솔루션을 찾고있었습니다.
Karim O.

3
팁 고마워. Microsoft 자체가이 작업을 안정적으로 수행 할 수 없다는 것은 매우 아이러니합니다. 2014 년에도 여전히 .dll을 직접 참조하고 있습니다.
Mike Honey

12
Add Reference-> COM-> Microsoft Excel 12.0 Object Library동일합니다.
primo 2015-06-26

서버에서 작동합니까? 서버에 사무실을 설치하지 않고?
Naveen Katakam 2015 년

알았어 고마워. 당신은 어떤 생각이 있습니까? 사무실을 설치하지 않고 사용할 수 있나요 .. azure를 사용하고 있습니다.
Naveen Katakam 2015 년

24

답변은 내 문제를 해결하는 데 도움이되지 않았고, Microsoft의 msi 설치 프로그램을 사용하여 설치했지만 어셈블리를 찾거나 찾아 볼 수 없었습니다. 나를 위해 엑셀 어셈블리는C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll


GAC, GAC_32 및 GAC_64 폴더를 시도한 후 마지막 폴더 GAC_MSIL에는 절대 없을 것이라고 생각했습니다. 하지만 그것은. 귀하의 의견에 감사드립니다. 나를 위해 훌륭하게 일했습니다!
Marty_in_a_Box 2013

가장 간단하고 최고의 답변입니다. 고마워 친구.
Wessam El Mahdy

8

참조를 추가하십시오 Microsoft.Office.Interop.Excel.

MicroSoft Excel 관련 클래스가 포함되어 있으므로 참조를 더 추가 할 필요가 없습니다.


1
그것이 내가 시도한 첫 번째 것입니다. 그러나 "Office"부분은 찾을 수 없습니다.
user850010

실제로 @ user850010과 동일한 문제가 있었지만 마침내 솔루션에서 잘못된 프로젝트의 참조 폴더를 마우스 오른쪽 버튼으로 클릭하고 추가한다는 것을 깨달았습니다.
User

4

나는 당신이 일을하려고하는 것은 추가 추측 Microsoft.Office.Interop.Excel과 함께 using그것을 찾을 수 실 거예요이 경우, 응용 프로그램에서의 참조를 추가 밖으로 문. using문으로 호출하기 전에 응용 프로그램에 대한 참조를 추가해야합니다. 마우스 오른쪽 버튼을 클릭 References하고 Excel Interop참조를 추가하십시오 .


4

참조 추가> 찾아보기> C :> Windows> 어셈블리> GAC> Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll



3

Microsoft Office가 설치되어있는 경우 Interop.Excel에 대한 참조를 추가 할 수 있습니다.

예를 들어 입력중인 PC에는 MSVS 2010 C # Express 및 Office 2010이 있습니다. Microsoft.Office.Interop.Excel 11.0.0.0에 대한 참조를 추가 할 수 있습니다.

'도움이되는 희망


3

com 구성 요소에 "Microsoft Office 14 Object Library"라는 이름이 있습니다.


1
VS2010 : "Microsoft Office 14 Object Library"에 대한 COM 참조를 추가하면 "Microsoft.Office.Core"에 대한 참조 만 추가됩니다. 더 나은 : COM 참조 "Microsoft Excel 14.0 Object Library"를 사용하십시오. 설치된 Excel 실행 파일을 직접 가리 키지 만 "Microsoft.Office.Core"및 "Microsoft.Office.Interop.Excel"모두에 대한 참조로 표시됩니다. Excel이 설치된 컴퓨터에서만 실행하고 배포해야하는 경우 도움이됩니다.
JS

3

Office 2007 이후 가장 좋은 옵션은 Open XML SDK 를 사용하는 것입니다. 우리는 Word.Interop을 사용했지만 때때로 중단되며 Microsoft에서는이를 서버 측 문서 형식으로 사용하는 것이 권장되지 않으므로 Open XML SDK를 사용하면 DOCX 및 Open XML 형식으로 Word 문서를 매우 쉽게 만들 수 있습니다. 확장 성, 자신감 (파일이 손상된 경우 다시 빌드 할 수 있음) 및 기타 매우 훌륭한 특성으로 잘 진행할 수 있습니다.


2

여기에 슈퍼 솔리드 솔루션이 있습니다 .Debug / Release 폴더에 excell.dll이 필요합니다. Mine은 77,824 바이트입니다. 파일로 다운로드했습니다. 이것은 또한 일부 사람들이 디버그를 컴파일했지만 릴리스하지 않은 이유를 설명합니다.

트 렌토


2

나는 똑같은 문제가 있었지만 이러한 답변 중 어느 것도 나를 도왔습니다. Mostey가 지적한 위치 (( C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll) 에서 내 PC의 dll을 찾았 지만 이것은 구축하려고 시도한 프로젝트에서 참조 된 것이 아닙니다.

Visual Studio 2012의 프로젝트 참조는 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\. 이 위치는 나에게는 비어 있었지만 다른 모든 사람들에게는 잘 작동했습니다. 여러 번 시도했지만 마침내 작동하는 설치 프로그램을 추적했습니다. 나는 이것이 다른 사람들에게 같은 번거 로움을 덜어주기를 바랍니다!

-> VS2012 용 Office 도구 번들 설치 프로그램 <-

이것은 Office 문서 및 다운로드 페이지에 있습니다. 도구 다운로드 까지 아래로 스크롤합니다 . 현재 VS2013 용도 있습니다.


1

1. 다운로드 및 설치 : Microsoft Office 개발자 도구

2. 참조 추가 :

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


1

동일한 문제가 발생했으며 VS2012를 VS2015로 업그레이드 한 후 "참조 추가"옵션에 Microsoft.Office.Interop이 나타나지 않았습니다. 기본적으로 설치를 복구하고 ( 제어판> 프로그램 및 기능> VS 2012> 변경을 마우스 오른쪽 버튼으로 클릭> 복구 ) Microsoft Office 구성 요소를 추가했습니다. 그 후 동일한 솔루션이 작동하기 시작했습니다.


0

프로젝트가 32 비트인지 확인하십시오.

참조-> 어셈블리-> 검색 "Office"에서 사용할 수있는 모든 Office Interop 어셈블리를 "32 비트 선호 및 다시 작성"을 선택하자마자이 문제가 발생했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.