C#を使用してExcelファイルを操作/自動化することに興味があります。
Webを閲覧した後、 VSTO を見つけましたが、Visual Studio Express Editionでは使用できないようですので、使用できません。
ほんの数分前、このサイトで、コードでこの名前空間を使用している質問に気付きました。
Microsoft.Office.Interop.Excel
だから私はそれを使用する必要があるのは必要な参照を追加するだけなのか、そうであればどの参照を追加するのか疑問に思っていますか?
UPDATE
受け入れられた回答が示唆するように「プライマリ相互運用機能アセンブリ」をインストールしましたが、何らかの理由で「.NET」の下の「参照の追加」ダイアログにはまだありませんが、GACには存在します。
そこで、「参照」を使用して参照を追加し、GACフォルダーにMicrosoft.Office.Interop.Excel.dll
を配置しました。
しかし、GACからの参照の追加に関するこのサイトでの同様の質問を探して、これは推奨されないようです。
これらのアセンブリは、NuGetパッケージとして入手できます。これは、元の回答よりもはるかに簡単です。
プロジェクトでReferencesを右クリックし、NuGetパッケージの管理...以下のリストにあるパッケージのいずれかを検索するか、パッケージマネージャーコンソールを使用してインストールします。
PM> Install-Package Microsoft.Office.Interop.Excel
これらは、「プライマリ相互運用機能アセンブリ」として利用できます。これは、Officeと共にインストールするか、個別にダウンロードしてインストールできます。 方法:Officeプライマリ相互運用機能アセンブリをインストールする 。
それらをインストールしたら、.NETの下の[参照の追加]ダイアログでプロジェクトで参照できます。これらのMicrosoft.Office.Interopアセンブリがリストされていない場合、それらはまだインストールされていません。セットアップからインストールするか、個別にダウンロードしてインストールします(ダウンロードについては上記のリンクを参照してください)。
自分でこの問題を抱え、受け入れられた答えは私を助けませんでしたが、私はそれを解決しました:
Add reference > Browse > C: > Windows > Assembly > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_etc > Microsoft.Office.Interop.Excel.dll
回答は問題を解決するのに役立ちませんでした。Microsoftのmsiインストーラーを使用してインストールしたにもかかわらず、アセンブリを見つけることができませんでした。私にとって、ExcelアセンブリはC:\Windows\Assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll
の下にあります
Microsoft.Office.Interop.Excel
の参照を追加するだけです。
Microsoft Excel関連のクラスが含まれているため、参照を追加する必要はありません。
あなたがしようとしていることは、アプリケーションに参照を追加せずにusing
ステートメントでMicrosoft.Office.Interop.Excel
を追加することだと思います。その場合、それは見つかりません。 using
ステートメントで呼び出す前に、urアプリケーションへの参照を追加する必要があります。 References
を右クリックして、Excel Interop
参照を追加します。
参照の追加>参照> C:> Windows>アセンブリ> GAC> Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll
「Microsoft Office 14 Object Library」という名前のcomコンポーネントにあります
Office 2007以降の最良のオプションは、 Open XML SDK を使用することです。 Word.Interopを使用しましたが、サーバー側のドキュメント形式として使用することは時々停止し、Microsoftには推奨されません。そのため、Open XML SDKを使用すると、DOCXおよびOpen XML形式でWordドキュメントを非常に簡単に作成できます。これにより、安定性、信頼性(ファイルが破損している場合、ファイルを再構築することができます)、および別の非常に優れた特性をうまく活用できます。
Microsoft Officeがインストールされている場合は、Interop.Excelへの参照を追加できるはずです。
たとえば、これを入力しているPCにはMSVS 2010 C#ExpressとOffice 2010があります。Microsoft.Office.Interop.Excel11.0.0.0への参照を追加できます。
「助けてくれる希望
VS2013の[アセンブリ]-> [拡張機能]の下にあります。
これは非常に堅実なソリューションです。デバッグ/リリースフォルダーにexcell.dllが必要です。鉱山は77,824バイトです。ファイルとしてダウンロードしました。これは、デバッグがコンパイルされているがリリースされていない、またはその逆の理由も説明しています。
トレント
私は同じ問題を抱えていましたが、これらの答えはどれも私を助けませんでした。私は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用もあります。
同じ問題が発生し、VS2012をVS2015にアップグレードすると、Microsoft.Office.Interopが[参照の追加]オプションに表示されませんでした。基本的にインストールを修復し(コントロールパネル>プログラムと機能> VS 2012>右クリックして変更>修復)、Microsoft Officeコンポーネントを追加しました。その後、同じソリューションが機能し始めました。
1.ダウンロードとインストール:Microsoft Office Developer Tools
2.からの参照を追加します。
C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15