Tôi cần tham chiếu gì để sử dụng Microsoft.Office.Interop.Excel trong .NET?


102

Tôi quan tâm đến việc sử dụng C # để thao tác / Tự động hóa tệp Excel.

Sau khi duyệt web, tôi đã tìm thấy VSTO nhưng có vẻ như bạn không thể sử dụng nó trong Visual Studio Express Edition nên tôi không thể sử dụng nó.

Chỉ vài phút trước, tôi nhận thấy một câu hỏi trong trang web này đã sử dụng không gian tên này trong mã của nó:

Microsoft.Office.Interop.Excel

Vì vậy, tôi tự hỏi nếu tất cả những gì tôi cần sử dụng là thêm tài liệu tham khảo cần thiết và nếu có thì cần thêm tài liệu tham khảo nào?

CẬP NHẬT

Tôi đã cài đặt "Tập hợp Interop chính" như câu trả lời được chấp nhận được đề xuất nhưng vì một số lý do mà chúng vẫn bị thiếu trong hộp thoại Thêm tham chiếu trong ".NET" nhưng chúng vẫn có trong GAC.

Vì vậy, tôi chỉ cần thêm tham chiếu bằng cách sử dụng "Duyệt qua" và nằm Microsoft.Office.Interop.Excel.dlltrong thư mục GAC.

Nhưng tìm kiếm các câu hỏi tương tự trên trang web này liên quan đến việc thêm tài liệu tham khảo từ GAC thì có vẻ như điều này không được khuyến khích.

Câu trả lời:


102

Cập nhật (cảm ơn người dùng2347528)

Các tập hợp này có sẵn dưới dạng các gói NuGet, dễ hơn nhiều so với câu trả lời ban đầu của tôi.

Bạn có thể cài đặt bằng cách nhấp chuột phải vào Tham chiếu trong dự án của mình và chọn Quản lý gói NuGet ... và tìm kiếm một trong các gói được liệt kê bên dưới hoặc cài đặt bằng Bảng điều khiển Trình quản lý Gói:

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

Những phần mềm này có sẵn dưới dạng "Tập hợp Interop chính", có thể được cài đặt với Office hoặc tải xuống và cài đặt riêng. Cách thực hiện: Cài đặt Office Interop Assemblies chính .

Sau khi chúng được cài đặt, bạn có thể tham chiếu chúng trong dự án của mình trong hộp thoại Thêm tham chiếu, trong .NET. Nếu bạn không thấy các cụm Microsoft.Office.Interop đó được liệt kê, thì chúng chưa được cài đặt. Cài đặt chúng từ thiết lập của bạn hoặc tải xuống và cài đặt riêng (xem liên kết của tôi ở trên để tải xuống).


Tôi tìm thấy một loạt các thành phần trong tab "Com" có tên là Microsoft Office .... Có phải đó không?
user850010

1
Đó là những dịch vụ COM mà Visual Studio có thể tạo các hội đồng tương tác .NET. Chúng tôi không khuyến khích bạn sử dụng những; bạn nên sử dụng các hội đồng PIA được phát hành từ Microsoft. Chúng sẽ hiển thị trong tab .NET trong hộp thoại Thêm tài liệu tham khảo. Nếu bạn không thấy chúng, bạn cần cài đặt PIA từ thiết lập Office của mình hoặc tải xuống riêng chúng như tôi đã liên kết trong câu trả lời của mình.
moribvndvs

2
@HackedByChinese Tôi không thấy bất kỳ tab NET trong add thoại Tài liệu tham khảo

1
Trong Visual Studio 2013, tôi tìm thấy các tham chiếu này trong Assemblies-> Phần mở rộng trong menu bên trái của cửa sổ Thêm Tham chiếu.
Benjamin Ray

1
Tôi đang cố gắng cài đặt chương trình C # sử dụng Microsoft.Office.Interop.Excel.dll trên máy chủ Windows 2012. Chương trình hoạt động tốt trên PC Windows 7 của tôi, nhưng ngay cả sau khi cài đặt PIA trên máy chủ, tôi vẫn nhận được thông báo lỗi về việc thiếu các thành phần System.Runtime.Interop.COM. Chương trình bị hỏng khi tôi cố gắng khởi tạo đối tượng Excel.Application (). Tôi còn thiếu gì nữa không?
Melanie

50

Tôi chỉ gặp vấn đề này và câu trả lời được chấp nhận không giúp được gì cho tôi nhưng tôi đã giải quyết nó bằng:

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


2
Tôi đã tìm kiếm giải pháp này ở khắp mọi nơi.
Karim O.

3
Cảm ơn vì tiền hỗ trợ. Đó là ngon mỉa mai rằng bản thân Microsoft không thể làm việc này đáng tin cậy - 2014 và chúng tôi vẫn đang đề cập trực tiếp đến dlls ...
Mike Mật ong

12
Add Reference-> COM-> Microsoft Excel 12.0 Object Librarylàm tương tự.
primo

Nó có hoạt động trên máy chủ không? mà không cần cài đặt văn phòng trên máy chủ?
Naveen Katakam

được rồi cảm ơn. bạn còn ý kiến ​​nào không? Tôi có thể sử dụng nó mà không cần cài đặt văn phòng .. Tôi đang sử dụng azure.
Naveen Katakam

24

Các câu trả lời không giúp tôi giải quyết vấn đề của mình, tôi không thể tìm thấy (và duyệt) các hội đồng mặc dù tôi đã cài đặt chúng bằng trình cài đặt msi của Microsoft. Đối với tôi, tập hợp excel nằm dướiC:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll


Sau khi tôi thử Thư mục GAC, GAC_32 và GAC_64, tôi nghĩ rằng nó sẽ không bao giờ nằm ​​trong thư mục cuối cùng GAC_MSIL. Nhưng nó đã được. Cám ơn bạn đã góp ý. Làm việc rất tốt cho tôi!
Marty_in_a_Box

Câu trả lời đơn giản nhất và hay nhất. Cảm ơn anh bạn.
Wessam El Mahdy

8

Chỉ cần thêm tài liệu tham khảo của Microsoft.Office.Interop.Excel.

Nó bao gồm các lớp liên quan đến MicroSoft Excel, không cần thêm tài liệu tham khảo.


1
Đó là điều đầu tiên tôi đã thử. Nhưng phần "Office" không được tìm thấy.
user850010

Trên thực tế đã gặp vấn đề tương tự như @ user850010 nhưng cuối cùng nhận ra rằng tôi đã nhấp chuột phải và thêm vào thư mục tham chiếu của dự án sai trong giải pháp của mình.
Người dùng

4

Tôi đoán những gì bạn đang cố gắng làm là thêm Microsoft.Office.Interop.Excelvới usingcâu lệnh mà không thêm tham chiếu của nó trong ứng dụng của bạn, trong trường hợp đó, nó sẽ không được tìm thấy. Trước khi gọi nó bằng usingcâu lệnh, bạn cần thêm một tham chiếu đến ứng dụng ur. Nhấp chuột phải vào Referencesvà thêm Excel Interoptài liệu tham khảo.


4

Thêm tham chiếu> Duyệt> C:> Windows> lắp ráp> GAC> Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll


4

Tôi tìm thấy nó nằm trong Assemblies-> Phần mở rộng trong VS2013.

Thêm tài liệu tham khảo


3

Nếu bạn đã cài đặt Microsoft Office, thì bạn sẽ có thể thêm một tham chiếu đến Interop.Excel.

Ví dụ: PC tôi đang nhập có MSVS 2010 C # Express và Office 2010. Tôi có thể thêm tham chiếu đến Microsoft.Office.Interop.Excel 11.0.0.0.

'Hy vọng điều đó sẽ giúp


3

của nó trong thành phần com, có tên: "Thư viện đối tượng Microsoft Office 14"


1
VS2010: Thêm tham chiếu COM vào "Thư viện đối tượng Microsoft Office 14" chỉ thêm tham chiếu vào "Microsoft.Office.Core". Tốt hơn: Sử dụng tham chiếu COM "Thư viện đối tượng Microsoft Excel 14.0". Nó trỏ trực tiếp đến tệp thực thi Excel đã cài đặt, nhưng sẽ hiển thị dưới dạng tham chiếu đến cả "Microsoft.Office.Core" và "Microsoft.Office.Interop.Excel". Sẽ hữu ích nếu bạn chỉ cần chạy và triển khai trên các máy đã cài đặt Excel.
JS

3

Tùy chọn tốt nhất kể từ office 2007 là sử dụng Open XML SDK cho nó. Chúng tôi đã sử dụng Word.Interop nhưng đôi khi nó bị tạm dừng và Microsoft không khuyến khích sử dụng nó làm định dạng tài liệu phía máy chủ, vì vậy Open XML SDK cho phép bạn tạo các tài liệu word trên các định dạng DOCX và Open XML rất dễ dàng. Nó cho phép bạn hoạt động tốt với khả năng quét, sự tự tin (các tệp, nếu nó bị hỏng có thể được xây dựng lại) và các đặc điểm rất tốt khác.


2

Đây là giải pháp siêu rắn, bạn chỉ cần có excell.dll trong thư mục Debug / Release của bạn Mine là 77,824 byte, tôi tải về dưới dạng file, điều này cũng giải thích tại sao một số người đã biên dịch Debug nhưng Release không hoặc ngược lại.

Trento


2

Tôi vừa gặp vấn đề tương tự, nhưng không có câu trả lời nào trong số này giúp tôi. Tôi đã tìm thấy dll trên máy tính của mình ở vị trí mà Mostey lưu ý: (C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll ), nhưng đây không phải là cái được tham chiếu trong dự án mà tôi đang cố gắng xây dựng.

Tham chiếu trong dự án của chúng tôi trong Visual Studio 2012 đã trỏ đến C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\ . Vị trí này trống đối với tôi, nhưng nó hoạt động tốt cho những người khác. Phải mất một số lần thử, nhưng cuối cùng tôi đã tìm ra trình cài đặt đang hoạt động. Tôi hy vọng điều này sẽ giải quyết những rắc rối tương tự cho những người khác!

-> Trình cài đặt Gói công cụ Office cho VS2012 <-

Điều này nằm trên trang Tải xuống và Tài liệu Office . Cuộn xuống Công cụ tải xuống . Hiện cũng có một cái cho VS2013.


1

1.Tải xuống và cài đặt: Microsoft Office Developer Tools

2. thêm tài liệu tham khảo từ:

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


1

Tôi gặp sự cố tương tự và Microsoft.Office.Interop không xuất hiện trong tùy chọn "Thêm tài liệu tham khảo" khi tôi nâng cấp VS2012 lên VS2015. Về cơ bản tôi đã sửa chữa cài đặt ( Bảng điều khiển> Chương trình & Tính năng> VS 2012> Nhấp chuột phải vào Thay đổi> Sửa chữa ) và thêm thành phần Microsoft Office. Sau đó, giải pháp tương tự bắt đầu hoạt động.


0

Đảm bảo rằng dự án của bạn là 32 bit.

Tôi đã gặp sự cố này, ngay sau khi tôi chọn "Thích 32 bit và xây dựng lại" tất cả các hội đồng Office Interop có sẵn trong Tham chiếu-> Tập hợp-> Tìm kiếm "Văn phòng".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.