What reference do I need to use Microsoft.Office.I

2019-01-07 06:52发布

问题:

I am interested in using C# to manipulate/Automate Excel files.

After browsing the web I have found VSTO but it seems you can not use that in Visual Studio Express Edition so I can not use that.

Just few minutes ago I noticed a question in this site that used this namespace in its code:

Microsoft.Office.Interop.Excel

So I am wondering if all I need to use that is add necessary reference and if so which reference to add?

UPDATE

I installed "Primary Interop Assemblies" as the accepted answer suggested but for some reason they are still missing in the Add Reference dialog under ".NET" but they are present in GAC.

So I just added the reference using "Browse" and located Microsoft.Office.Interop.Excel.dll in GAC folder.

But looking for similar questions on this site regarding adding reference from GAC it seems this is not recommended.

回答1:

Update (thanks user2347528)

These assemblies are available as NuGet packages, which is much easier than my original answer.

You can install by either right clicking on References in your project and selecting Manage NuGet packages... and searching for one of the packages listed below, or install using the Package Manager Console:

PM> Install-Package Microsoft.Office.Interop.Excel
  • Microsoft.Office.Interop.Excel
  • Microsoft.Office.Interop.Word
  • Microsoft.Office.Interop.Outlook
  • Microsoft.Office.Interop.PowerPoint
  • Microsoft.Office.Interop.Graph

These are available as "Primary Interop Assemblies", which can be installed with Office, or downloaded and installed separately. How to: Install Office Primary Interop Assemblies.

Once those are installed, you can reference them in your project in the Add Reference dialog, under .NET. If you do not see those Microsoft.Office.Interop assemblies listed, then they have not been installed yet. Install them from your setup, or download and install them separately (see my link above for the downloads).



回答2:

Just had this problem myself and accepted answer didn't help me but I solved it with:

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



回答3:

Answers didn't help me to solve my problem, I couldn't find (and browse) the assemblies although I installed them using Microsoft's msi installer. For me, the excel assembly is located under C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll



回答4:

Just add reference of Microsoft.Office.Interop.Excel.

It includes MicroSoft Excel related classes, no need to add more references.



回答5:

I guess what you are trying to do is add Microsoft.Office.Interop.Excel with using statement with out adding its reference in your application, in that case it wont be found. Before calling it with using statement you need to add a reference to ur application. Right click on References and add the Excel Interop reference.



回答6:

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



回答7:

If you have Microsoft Office installed, then you should be able to add a reference to Interop.Excel.

For example, the PC I'm typing this on has MSVS 2010 C# Express and Office 2010. I can add a reference to Microsoft.Office.Interop.Excel 11.0.0.0.

'Hope that helps



回答8:

its in the com component, named: "Microsoft Office 14 Object Library"



回答9:

The best option since office 2007 is using Open XML SDK for it. We used Word.Interop but it halt sometimes, and it is not recommend for Microsoft, to use it as a server side document formatting, so Open XML SDK lets you creates word documents on DOCX and Open XML formats very easily. It lets you going well with scability, confidence ( the files, if it is corrupted can be rebuild ), and another very fine characteristics.



回答10:

Here is super solid solution, you just need have excell.dll in your Debug/Release folder Mine is 77,824 bytes, I downloaded it as a file, this also explain why some people have Debug compiled but Release not or vice versa.

Trento



回答11:

I just had the same problem, but none of these answers helped me. I did find the dll on my pc in the location Mostey noted: (C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll), but this is not the one that was referenced in the project I was trying to get building.

The reference in our project in Visual Studio 2012 was pointing to C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\. This location was empty for me, but it worked fine for everyone else. It took a number of tries, but I finally tracked down a working installer. I hope this saves others the same hassle!

--> Office Tools Bundle installer for VS2012 <--

This was located on the Office Documentation and Download page. Scroll down to Tools Downloads. There's also currently one for VS2013.



回答12:

I found it located under Assemblies->Extensions in VS2013.



回答13:

1.Download and install: Microsoft Office Developer Tools

2.Add references from:

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



回答14:

I had the same issue and the Microsoft.Office.Interop was not appearing in "Add Reference" option once I upgraded VS2012 to VS2015. I basically repaired the installation (Control Panel > Programs & Features > VS 2012 > Right click Change > Repair) and added the Microsoft Office component. After that the same solution started working.