web-dev-qa-db-ja.com

.NETでMicrosoft.Office.Interop.Excelを使用するには、どの参照が必要ですか?

C#を使用してExcelファイルを操作/自動化することに興味があります。

Webを閲覧した後、 VSTO を見つけましたが、Visual Studio Express Editionでは使用できないようですので、使用できません。

ほんの数分前、このサイトで、コードでこの名前空間を使用している質問に気付きました。

Microsoft.Office.Interop.Excel

だから私はそれを使用する必要があるのは必要な参照を追加するだけなのか、そうであればどの参照を追加するのか疑問に思っていますか?

UPDATE

受け入れられた回答が示唆するように「プライマリ相互運用機能アセンブリ」をインストールしましたが、何らかの理由で「.NET」の下の「参照の追加」ダイアログにはまだありませんが、GACには存在します。

そこで、「参照」を使用して参照を追加し、GACフォルダーにMicrosoft.Office.Interop.Excel.dllを配置しました。

しかし、GACからの参照の追加に関するこのサイトでの同様の質問を探して、これは推奨されないようです。

94
user850010

更新(user2347528に感謝)

これらのアセンブリは、NuGetパッケージとして入手できます。これは、元の回答よりもはるかに簡単です。

プロジェクトでReferencesを右クリックし、NuGetパッケージの管理...以下のリストにあるパッケージのいずれかを検索するか、パッケージマネージャーコンソールを使用してインストールします。

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

これらは、「プライマリ相互運用機能アセンブリ」として利用できます。これは、Officeと共にインストールするか、個別にダウンロードしてインストールできます。 方法:Officeプライマリ相互運用機能アセンブリをインストールする

それらをインストールしたら、.NETの下の[参照の追加]ダイアログでプロジェクトで参照できます。これらのMicrosoft.Office.Interopアセンブリがリストされていない場合、それらはまだインストールされていません。セットアップからインストールするか、個別にダウンロードしてインストールします(ダウンロードについては上記のリンクを参照してください)。

96
HackedByChinese

自分でこの問題を抱え、受け入れられた答えは私を助けませんでしたが、私はそれを解決しました:

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

47
Robert

回答は問題を解決するのに役立ちませんでした。Microsoftのmsiインストーラーを使用してインストールしたにもかかわらず、アセンブリを見つけることができませんでした。私にとって、ExcelアセンブリはC:\Windows\Assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dllの下にあります

24
0x8BADF00D

Microsoft.Office.Interop.Excelの参照を追加するだけです。

Microsoft Excel関連のクラスが含まれているため、参照を追加する必要はありません。

8
RAKESH HOLKAR

あなたがしようとしていることは、アプリケーションに参照を追加せずにusingステートメントでMicrosoft.Office.Interop.Excelを追加することだと思います。その場合、それは見つかりません。 usingステートメントで呼び出す前に、urアプリケーションへの参照を追加する必要があります。 Referencesを右クリックして、Excel Interop参照を追加します。

4
Misam

参照の追加>参照> C:> Windows>アセンブリ> GAC> Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll

4
Turanian

「Microsoft Office 14 Object Library」という名前のcomコンポーネントにあります

3
James Tan

Office 2007以降の最良のオプションは、 Open XML SDK を使用することです。 Word.Interopを使用しましたが、サーバー側のドキュメント形式として使用することは時々停止し、Microsoftには推奨されません。そのため、Open XML SDKを使用すると、DOCXおよびOpen XML形式でWordドキュメントを非常に簡単に作成できます。これにより、安定性、信頼性(ファイルが破損している場合、ファイルを再構築することができます)、および別の非常に優れた特性をうまく活用できます。

3
JosefMadrid

Microsoft Officeがインストールされている場合は、Interop.Excelへの参照を追加できるはずです。

たとえば、これを入力しているPCにはMSVS 2010 C#ExpressとOffice 2010があります。Microsoft.Office.Interop.Excel11.0.0.0への参照を追加できます。

「助けてくれる希望

3
paulsm4

VS2013の[アセンブリ]-> [拡張機能]の下にあります。

Add Reference

3
bluebunny72

これは非常に堅実なソリューションです。デバッグ/リリースフォルダーにexcell.dllが必要です。鉱山は77,824バイトです。ファイルとしてダウンロードしました。これは、デバッグがコンパイルされているがリリースされていない、またはその逆の理由も説明しています。

トレント

2
Mario Trento

私は同じ問題を抱えていましたが、これらの答えはどれも私を助けませんでした。私はPCでMosteyが指摘した場所で(C:\Windows\Assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll)dllを見つけましたが、これは私が構築しようとしているプロジェクトで参照されたものではありません。

Visual Studio 2012のプロジェクトの参照は、C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\を指していました。この場所は私にとって空でしたが、他のすべての人にとってはうまくいきました。何度も試してみましたが、ついに機能するインストーラーを見つけました。これにより他の人も同じ手間を省けることを願っています!

-> VS2012のOfficeツールバンドルインストーラー <-

これは Officeのドキュメントとダウンロード ページにありました。 Tools Downloadsまでスクロールダウンします。現在、VS2013用もあります。

2
thehelix

同じ問題が発生し、VS2012をVS2015にアップグレードすると、Microsoft.Office.Interopが[参照の追加]オプションに表示されませんでした。基本的にインストールを修復し(コントロールパネル>プログラムと機能> VS 2012>右クリックして変更>修復)、Microsoft Officeコンポーネントを追加しました。その後、同じソリューションが機能し始めました。

1
sk1900

1.ダウンロードとインストール:Microsoft Office Developer Tools

2.からの参照を追加します。

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

1
Artur Tarnowski