Referensi apa yang saya perlukan untuk menggunakan Microsoft.Office.Interop.Excel di .NET?

102

Saya tertarik menggunakan C # untuk memanipulasi / Mengotomatiskan file Excel.

Setelah browsing web saya telah menemukan VSTO tetapi tampaknya Anda tidak dapat menggunakannya di Visual Studio Express Edition jadi saya tidak dapat menggunakannya.

Beberapa menit yang lalu saya melihat sebuah pertanyaan di situs ini yang menggunakan namespace ini dalam kodenya:

Microsoft.Office.Interop.Excel

Jadi saya bertanya-tanya apakah yang perlu saya gunakan hanyalah menambahkan referensi yang diperlukan dan jika demikian referensi mana yang harus ditambahkan?

MEMPERBARUI

Saya menginstal "Sidang Interop Utama" sebagai jawaban yang diterima disarankan tetapi untuk beberapa alasan mereka masih hilang dalam dialog Tambahkan Referensi di bawah ".NET" tetapi mereka ada di GAC.

Jadi saya hanya menambahkan referensi menggunakan "Browse" dan terletak Microsoft.Office.Interop.Excel.dlldi folder GAC.

Namun mencari pertanyaan serupa di situs ini mengenai penambahan referensi dari GAC sepertinya hal ini tidak disarankan.

pengguna850010
sumber

Jawaban:

102

Pembaruan (terima kasih user2347528)

Rakitan ini tersedia sebagai paket NuGet, yang jauh lebih mudah daripada jawaban asli saya.

Anda dapat menginstal dengan mengklik kanan Referensi di proyek Anda dan memilih Kelola paket NuGet ... dan mencari salah satu paket yang tercantum di bawah ini, atau menginstal menggunakan Package Manager Console:

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

Ini tersedia sebagai "Sidang Interop Utama", yang dapat diinstal dengan Office, atau diunduh dan diinstal secara terpisah. Cara: Memasang Sidang Interop Utama Office .

Setelah diinstal, Anda dapat mereferensikannya dalam proyek Anda di dialog Add Reference, di bawah .NET. Jika Anda tidak melihat rakitan Microsoft.Office.Interop tersebut terdaftar, maka rakitan tersebut belum diinstal. Instal dari pengaturan Anda, atau unduh dan instal secara terpisah (lihat tautan saya di atas untuk unduhan).

moribvndvs
sumber
Saya menemukan banyak komponen di tab "Com" bernama Microsoft Office .... Apakah itu?
pengguna850010
1
Itu adalah layanan COM yang Visual Studio dapat menghasilkan rakitan interop .NET untuk. Anda tidak disarankan untuk menggunakannya; Anda harus menggunakan rakitan PIA yang dirilis dari Microsoft. Mereka akan muncul di tab .NET di dialog Add References. Jika Anda tidak melihatnya, Anda perlu menginstal PIA dari penyiapan Office Anda atau mengunduhnya secara terpisah saat saya menautkan dalam jawaban saya.
moribvndvs
2
@HackedByChinese Saya tidak melihat tab .NET di dialog tambahkan Referensi
1
Dalam Visual Studio 2013, saya menemukan referensi ini di bawah Assemblies-> Extensions di menu kiri jendela Add References.
Benjamin Ray
1
Saya mencoba menginstal program C # yang menggunakan Microsoft.Office.Interop.Excel.dll di server Windows 2012. Program ini berfungsi dengan baik pada PC Windows 7 saya, tetapi bahkan setelah menginstal PIA di server, saya masih mendapatkan pesan kesalahan tentang komponen System.Runtime.Interop.COM hilang. Program berhenti ketika saya mencoba untuk membuat instance objek Excel.Application (). Apakah ada hal lain yang saya lewatkan?
Melanie
50

Baru saja mengalami masalah ini sendiri dan jawaban yang diterima tidak membantu saya tetapi saya menyelesaikannya dengan:

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

Robert
sumber
2
Saya mencari solusi ini di mana-mana.
Karim O.
3
Terima kasih atas tipnya. Sungguh ironis bahwa Microsoft sendiri tidak dapat membuat ini berfungsi dengan andal - 2014 dan kami masih merujuk langsung ke .dlls ...
Mike Honey
12
Add Reference-> COM-> Microsoft Excel 12.0 Object Librarymelakukan hal yang sama.
primo
Apakah ini berfungsi di server? tanpa menginstal office di server?
Naveen Katakam
Ok terima kasih. Apakah kamu punya ide? dapatkah saya menggunakannya tanpa menginstal office .. Saya menggunakan azure.
Naveen Katakam
24

Answers tidak membantu saya untuk memecahkan masalah saya, saya tidak dapat menemukan (dan menelusuri) rakitan meskipun saya menginstalnya menggunakan penginstal msi Microsoft. Bagi saya, perakitan excel terletak di bawahC:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll

0x8BADF00D
sumber
Setelah saya mencoba Folder GAC, GAC_32 dan GAC_64 saya pikir itu tidak akan pernah ada di folder terakhir GAC_MSIL. Tapi itu. Terima kasih atas komentar Anda. Bekerja dengan baik untuk saya!
Marty_in_a_Box
Jawaban paling sederhana dan terbaik. Terima kasih Bung.
Wessam El Mahdy
8

Tambahkan saja referensi Microsoft.Office.Interop.Excel.

Ini termasuk kelas terkait MicroSoft Excel, tidak perlu menambahkan lebih banyak referensi.

RAKESH HOLKAR
sumber
1
Itu hal pertama yang saya coba. Tetapi bagian "Office" tidak ditemukan.
pengguna850010
Sebenarnya memiliki masalah yang sama dengan @ user850010 tetapi akhirnya menyadari saya mengklik kanan dan menambahkan folder referensi dari proyek yang salah dalam solusi saya.
Pengguna
4

Saya kira apa yang Anda coba lakukan adalah menambahkan Microsoft.Office.Interop.Exceldengan usingpernyataan dengan keluar menambahkan referensi dalam aplikasi Anda, dalam kasus ini wont ditemukan. Sebelum memanggilnya dengan usingpernyataan Anda perlu menambahkan referensi ke aplikasi Anda. Klik kanan Referencesdan tambahkan Excel Interopreferensi.

Misam
sumber
4

Tambahkan referensi> Jelajahi> C:> Windows> perakitan> GAC> Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll

Turanian
sumber
4

Saya menemukannya terletak di Assemblies-> Extensions di VS2013.

Tambahkan Referensi

bluebunny72
sumber
3

Jika Anda memiliki Microsoft Office diinstal, maka Anda harus dapat menambahkan referensi ke Interop.Excel.

Misalnya, PC tempat saya mengetik ini memiliki MSVS 2010 C # Express dan Office 2010. Saya dapat menambahkan referensi ke Microsoft.Office.Interop.Excel 11.0.0.0.

'Semoga itu bisa membantu

paulsm4
sumber
3

dalam komponen com, bernama: "Perpustakaan Objek Microsoft Office 14"

James Tan
sumber
1
VS2010: Menambahkan referensi COM ke "Perpustakaan Objek Microsoft Office 14" hanya menambahkan referensi ke "Microsoft.Office.Core". Lebih baik: Gunakan referensi COM "Perpustakaan Objek Microsoft Excel 14.0". Ini menunjuk langsung ke executable Excel yang diinstal, tetapi akan muncul sebagai referensi ke "Microsoft.Office.Core" dan "Microsoft.Office.Interop.Excel". Akan membantu jika Anda hanya perlu menjalankan dan menyebarkan pada mesin yang telah menginstal Excel.
JS
3

Pilihan terbaik sejak office 2007 menggunakan Open XML SDK untuk itu. Kami menggunakan Word.Interop tetapi terkadang berhenti, dan tidak disarankan untuk Microsoft, untuk menggunakannya sebagai pemformatan dokumen sisi server, jadi Open XML SDK memungkinkan Anda membuat dokumen kata pada format DOCX dan Open XML dengan sangat mudah. Ini memungkinkan Anda berjalan dengan baik dengan skabilitas, kepercayaan diri (file, jika rusak dapat dibangun kembali), dan karakteristik lain yang sangat bagus.

JosefMadrid
sumber
2

Ini adalah solusi super solid, Anda hanya perlu memiliki excell.dll di folder Debug / Release Anda. Saya adalah 77.824 byte, saya mengunduhnya sebagai file, ini juga menjelaskan mengapa beberapa orang telah mengkompilasi Debug tetapi Rilis tidak atau sebaliknya.

Trento

Mario Trento
sumber
2

Saya hanya memiliki masalah yang sama, tetapi tidak ada jawaban yang membantu saya. Saya menemukan dll di pc saya di lokasi yang dicatat Mostey: ( C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll), tetapi ini bukan yang dirujuk dalam proyek yang saya coba buat.

Referensi dalam proyek kami di Visual Studio 2012 menunjuk ke C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\. Lokasi ini kosong untuk saya, tetapi berfungsi dengan baik untuk semua orang. Butuh beberapa kali percobaan, tetapi akhirnya saya menemukan penginstal yang berfungsi. Saya harap ini menyelamatkan orang lain dari kerumitan yang sama!

-> Penginstal Bundel Office Tools untuk VS2012 <-

Ini terletak di halaman Dokumentasi dan Unduh Office . Gulir ke bawah ke Alat Download . Saat ini juga ada satu untuk VS2013.

thehelix
sumber
1

1. Unduh dan instal: Alat Pengembang Microsoft Office

2. Tambahkan referensi dari:

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

Artur Tarnowski
sumber
1

Saya memiliki masalah yang sama dan Microsoft.Office.Interop tidak muncul di opsi "Tambahkan Referensi" setelah saya memutakhirkan VS2012 ke VS2015. Saya pada dasarnya memperbaiki instalasi ( Panel Kontrol> Program & Fitur> VS 2012> Klik kanan Ubah> Perbaikan ) dan menambahkan komponen Microsoft Office. Setelah itu solusi yang sama mulai bekerja.

sk1900
sumber
0

Pastikan proyek Anda 32 bit.

Saya mengalami masalah ini, segera setelah saya mencentang "Pilih 32 bit dan bangun kembali" semua rakitan Interop Office jika tersedia di Referensi-> Majelis-> Cari "Kantor".

spludlow
sumber