web-dev-qa-db-ja.com

Microsoft.Office.Interop.Excel dllを参照するには?

2006年にMS VS 2005を使用してExcelシートを処理するシステムを開発しました。現在、MS VS 2012では同じ参照を使用できません。

var app = new Microsoft.Office.Interop.Excel.Application();
Workbooks wbs = app.Workbooks;
45
Moe_Al

NuGetを使用する(VS 2013 +):

Visual Studioの最新バージョンで最も簡単な方法は、NuGetパッケージマネージャーを使用することです。 (VS2013でも、 Visual Studio 2013のNuGetパッケージマネージャー 拡張機能を使用)

"参照"を右クリックして "NuGetパッケージの管理..."を選択し、Excelを検索します。

enter image description here


VS 2012:

VSの古いバージョンはNuGetにアクセスできませんでした。

  • 「参照」を右クリックして、「参照の追加」を選択します。
  • 左側の「拡張機能」を選択します。
  • Microsoft.Office.Interop.Excelを探します。
    (右上隅の検索ボックスに「Excel」と入力するだけです。)

VS2012/2013 References


VS 2008/2010:

  • 「参照」を右クリックして、「参照の追加」を選択します。
  • 「.NET」タブを選択します。
  • Microsoft.Office.Interop.Excelを探します。

VS 2010 References

66
Grant

パッケージマネージャーを使用してVisual Studioにインストールすることもできます。

パッケージコンソールでInstall-Package Microsoft.Office.Interop.Excelを実行します。これにより、プロジェクト参照として自動的に追加されます。

使用方法は次のとおりです。

Using Excel=Microsoft.Office.Interop.Excel;
36
CYCLONE

VS 2013 Expressがあり、Microsoft.Office名前空間が見つからない場合は、これを試してください(Office 2007を使用する場合は「Microsoft Excel 12.0 Object Library」)

enter image description here

19
Muflix

Mulfixの答えをもとに、Visual Studio Community 2015をお持ちの場合は、参照の追加...-> COM->タイプライブラリ-> 'Microsoft Excel 15.0 Object Library'を試してください。

3

参照を事前にバインドする代わりに、これをプロジェクトから抽象化するNetOfficeというオープンソースプロジェクトがあり、これにより作業がはるかに容易になります。そうすれば、特定のバージョンのOfficeがインストールされているユーザーに依存する必要がなくなります。

NetOffice Codeplexサイト

2
LawMan

対象のExcelのバージョンを確認する必要がありますか?

Excel 2010をターゲットにしている場合は、バージョン14(Grantのスクリーンショットの回答による)を使用し、Excel 2007はバージョン12を使用します。正しいInterop dllがインストールされていないため、vS2012を使用してExcel 2003をサポートすることはできません。

1
mas_oz2k1