मुझे .NET में Microsoft.Office.Interop.Excel का उपयोग करने के लिए किस संदर्भ की आवश्यकता है?


102

मैं एक्सेल फाइलों में हेरफेर / स्वचालित करने के लिए C # का उपयोग करने में रुचि रखता हूं।

वेब ब्राउज़ करने के बाद मुझे VSTO मिल गया है लेकिन ऐसा लगता है कि आप विजुअल स्टूडियो एक्सप्रेस संस्करण में इसका उपयोग नहीं कर सकते हैं इसलिए मैं इसका उपयोग नहीं कर सकता।

कुछ ही मिनट पहले मैंने इस साइट में एक प्रश्न देखा था जो अपने कोड में इस नाम स्थान का उपयोग करता था:

Microsoft.Office.Interop.Excel

इसलिए मैं सोच रहा हूं कि क्या मुझे उपयोग करने की आवश्यकता है जो आवश्यक संदर्भ जोड़ रहा है और यदि ऐसा है तो कौन सा संदर्भ जोड़ना है?

अपडेट करें

मैंने सुझाए गए उत्तर के रूप में "प्राथमिक इंटरोप असेंबली" स्थापित किया लेकिन किसी कारण से वे अभी भी ".NET" के तहत संदर्भ संदर्भ संवाद में गायब हैं, लेकिन वे जीएसी में मौजूद हैं।

इसलिए मैंने सिर्फ "ब्राउज़ करें" और Microsoft.Office.Interop.Excel.dllजीएसी फ़ोल्डर में स्थित संदर्भ का उपयोग किया ।

लेकिन जीएसी से संदर्भ जोड़ने के बारे में इस साइट पर इसी तरह के सवालों की तलाश में ऐसा लगता है कि यह अनुशंसित नहीं है।

जवाबों:


102

अपडेट (धन्यवाद user2347528)

ये असेंबली NuGet पैकेज के रूप में उपलब्ध हैं, जो मेरे मूल उत्तर की तुलना में बहुत आसान है।

आप अपनी परियोजना में संदर्भ पर राइट क्लिक करके और प्रबंधित NuGet संकुल का चयन करके स्थापित कर सकते हैं ... और नीचे सूचीबद्ध संकुल में से किसी एक को खोज रहे हैं, या संकुल प्रबंधक कंसोल का उपयोग कर स्थापित कर सकते हैं:

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

ये "प्राथमिक इंटरोप असेंबली" के रूप में उपलब्ध हैं, जिन्हें कार्यालय के साथ स्थापित किया जा सकता है, या अलग से डाउनलोड और इंस्टॉल किया जा सकता है। कैसे करें: Office प्राथमिक इंटरॉप असेंबली स्थापित करें

एक बार जब वे स्थापित हो जाते हैं, तो आप उन्हें .NET के तहत ऐड रेफरेंस संवाद में अपनी परियोजना में संदर्भित कर सकते हैं। यदि आप उन Microsoft.Office.Interop असेंबलियों को सूचीबद्ध नहीं देखते हैं, तो वे अभी तक इंस्टॉल नहीं किए गए हैं। उन्हें अपने सेटअप से स्थापित करें, या डाउनलोड करें और उन्हें अलग से स्थापित करें (डाउनलोड के लिए ऊपर मेरा लिंक देखें)।


मुझे माइक्रोसॉफ्ट ऑफिस नाम के "कॉम" टैब में घटकों का गुच्छा मिला .... क्या वे हैं?
user850010

1
वे COM सेवाएँ हैं जिनके लिए Visual Studio .NET इंटरॉप असेंबली उत्पन्न कर सकता है। यह अनुशंसा नहीं की जाती है कि आप उन का उपयोग करें; आपको Microsoft से जारी PIA विधानसभाओं का उपयोग करना चाहिए। उन्हें संदर्भ जोड़ें संवाद में .NET टैब में दिखाना चाहिए। यदि आप उन्हें नहीं देखते हैं, तो आपको अपने कार्यालय सेटअप से PIA को स्थापित करने या उन्हें अलग से डाउनलोड करने की आवश्यकता है जैसा कि मैंने अपने उत्तर में जोड़ा था।
moribvndvs

2
@HackedByChinese मैं संदर्भ जोड़ें संवाद में किसी भी .NET टैब को नहीं देखता

1
विज़ुअल स्टूडियो 2013 में, मैंने इन संदर्भों को असेंबली के तहत पाया-> संदर्भ जोड़ें विंडो के बाएं मेनू में एक्सटेंशन।
बेंजामिन रे

1
मैं एक C # प्रोग्राम स्थापित करने का प्रयास कर रहा हूँ जो Windows 2012 सर्वर पर Microsoft.Office.Interop.Excel.dll का उपयोग करता है। प्रोग्राम मेरे विंडोज 7 पीसी पर ठीक काम करता है, लेकिन पीआईए को सर्वर पर स्थापित करने के बाद भी, मुझे अभी भी System.Runtime.Interop.COM घटकों के बारे में एक त्रुटि संदेश मिलता है। जब मैं Excel.Application () ऑब्जेक्ट को त्वरित करने का प्रयास करता हूं तो प्रोग्राम टूट जाता है। क्या मुझे और कुछ याद आ रहा है?
मेलानी

50

बस मुझे यह समस्या थी और स्वीकार किए गए उत्तर ने मेरी मदद नहीं की, लेकिन मैंने इसे हल किया:

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


2
मैं हर जगह इस समाधान की तलाश में था।
करीम ओ।

3
पारितोषिक के लिए धन्यवाद। यह स्वादिष्ट विडंबना है कि Microsoft स्वयं इस कार्य को मज़बूती से नहीं कर सकता है - 2014 और हम अभी भी सीधे .dlls का उल्लेख कर रहे हैं ...
माइक हनी

12
Add Reference-> COM-> Microsoft Excel 12.0 Object Libraryऐसा ही करता है।
प्रिमो

क्या यह सर्वर पर काम कर रहा है? सर्वर पर कार्यालय स्थापित किए बिना?
नवीन कटकम

ठीक है धन्यवाद। क्या तुम्हारे पास कोई विचार है? मैं कार्यालय स्थापित किए बिना इसका उपयोग कर सकते हैं .. मैं azure का उपयोग कर रहा हूँ।
नवीन कटकम

24

जवाबों ने मुझे मेरी समस्या को हल करने में मदद नहीं की, मैं असेंबली को खोज (और ब्राउज़) नहीं कर पाया, हालांकि मैंने उन्हें माइक्रोसॉफ्ट के एमएसआई इंस्टॉलर का उपयोग करके स्थापित किया। मेरे लिए, एक्सेल असेंबली के तहत स्थित हैC:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll


जब मैंने फ़ोल्डर GAC, GAC_32 और GAC_64 की कोशिश की, तो मुझे लगा कि यह पिछले फ़ोल्डर GAC_MSIL में कभी नहीं होगा। लेकिन यह था। आपके कमेंट के लिए धन्यवाद। मेरे लिए बहुत अच्छा काम किया!
Marty_in_a_Box

सबसे सरल और सबसे अच्छा जवाब। धन्यवाद दोस्त।
वेसेम एल महदी

8

बस संदर्भ जोड़ें Microsoft.Office.Interop.Excel

इसमें माइक्रो सॉफ्ट एक्सेल संबंधित कक्षाएं शामिल हैं, अधिक संदर्भ जोड़ने की आवश्यकता नहीं है।


1
मैंने पहली कोशिश की। लेकिन "कार्यालय" भाग नहीं मिला है।
user850010

वास्तव में @ user850010 के रूप में एक ही समस्या थी, लेकिन अंत में एहसास हुआ कि मैं अपने समाधान में गलत प्रोजेक्ट के संदर्भ फ़ोल्डर पर राइट-क्लिक और जोड़ रहा था।
उपयोगकर्ता

4

मुझे लगता है कि आप जो करने की कोशिश कर रहे हैं वह आपके आवेदन में इसके संदर्भ को जोड़ने के Microsoft.Office.Interop.Excelसाथ usingबयान के साथ जोड़ रहा है, उस स्थिति में यह नहीं मिलेगा। usingबयान के साथ इसे कॉल करने से पहले आपको उर आवेदन के लिए एक संदर्भ जोड़ना होगा। राइट क्लिक करें Referencesऔर Excel Interopसंदर्भ जोड़ें ।


4

संदर्भ जोड़ें> ब्राउज़ करें> C:> विंडोज> असेंबली> GAC> Microsoft.Office.Interop.Excel> 12.0.0.0_wasd ..> Microsoft.Office.Interop.Excel.dll


4

मैंने पाया कि यह असेंबली के तहत स्थित है-> VS2013 में एक्सटेंशन।

संदर्भ जोड़ें


3

यदि आपके पास Microsoft Office स्थापित है, तो आपको Interop.Excel का संदर्भ जोड़ने में सक्षम होना चाहिए।

उदाहरण के लिए, मैं जिस पीसी पर यह टाइप कर रहा हूं, उसमें MSVS 2010 C # एक्सप्रेस और ऑफिस 2010 है। मैं Microsoft.Office.Interop.Excel 11.0.0.0 का संदर्भ जोड़ सकता हूं।

'उम्मीद है की वो मदद करदे


3

कॉम घटक में इसका नाम है: "माइक्रोसॉफ्ट ऑफिस 14 ऑब्जेक्ट लाइब्रेरी"


1
VS2010: "Microsoft Office 14 ऑब्जेक्ट लाइब्रेरी" के लिए एक COM संदर्भ जोड़ना केवल "Microsoft.Office.Core" के लिए एक संदर्भ जोड़ता है। बेहतर: COM संदर्भ "Microsoft Excel 14.0 ऑब्जेक्ट लाइब्रेरी" का उपयोग करें। यह सीधे स्थापित एक्सेल निष्पादन योग्य को इंगित करता है, लेकिन "Microsoft.Office.Core" और "Microsoft.Office.Interop.Excel" दोनों के संदर्भ के रूप में दिखाई देगा। यदि आपको केवल उन मशीनों पर चलाने और परिनियोजित करने की आवश्यकता है, जिन्हें एक्सेल स्थापित है।
जेएस

3

कार्यालय 2007 के बाद से सबसे अच्छा विकल्प इसके लिए ओपन एक्सएमएल एसडीके का उपयोग कर रहा है। हमने Word.Interop का उपयोग किया था, लेकिन यह कभी-कभी रुक जाता है, और यह Microsoft के लिए अनुशंसित नहीं है, इसे सर्वर साइड दस्तावेज़ स्वरूपण के रूप में उपयोग करने के लिए, इसलिए XML SDK खोलें, आपको DOCX और Open XML स्वरूपों पर शब्द दस्तावेज़ बहुत आसानी से बनाने देता है। यह आपको स्केलेबिलिटी, कॉन्फिडेंस (फाइल्स, अगर यह करप्ट होती है, पुनर्निर्माण किया जा सकता है), और एक और बहुत ही बढ़िया फीचर्स देता है।


2

यहाँ सुपर सॉलिड सॉल्यूशन है, बस आपको अपने डीबग / रिलीज़ फोल्डर में excell.dll की आवश्यकता है। मेरा 77,824 बाइट्स है, मैंने इसे एक फाइल के रूप में डाउनलोड किया है, यह भी समझाता है कि कुछ लोगों ने डिबग को क्यों संकलित किया है लेकिन रिलीज़ नहीं किया है या इसके विपरीत।

ट्रेंटो


2

मुझे बस यही समस्या थी, लेकिन इनमें से किसी भी उत्तर ने मेरी मदद नहीं की। मुझे पता था कि मेरे पीसी पर अधिकांश स्थान पर Dll पाया गया: ( C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll), लेकिन यह वह नहीं है जिसे मैं उस परियोजना में संदर्भित किया गया था जिसे मैं इमारत बनाने की कोशिश कर रहा था।

विजुअल स्टूडियो 2012 में हमारी परियोजना का संदर्भ इंगित कर रहा था C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\। यह स्थान मेरे लिए खाली था, लेकिन इसने बाकी सभी के लिए ठीक काम किया। इसने कई कोशिशें कीं, लेकिन मैंने आखिरकार एक काम करने वाले इंस्टॉलर को ट्रैक किया। मुझे आशा है कि यह दूसरों को एक ही परेशानी से बचाता है!

-> कार्यालय उपकरण बंडल इंस्टॉलर VS2012 के लिए <-

यह कार्यालय प्रलेखन और डाउनलोड पृष्ठ पर स्थित था । टूल डाउनलोड के लिए नीचे स्क्रॉल करें । वर्तमान में VS2013 के लिए भी एक है।


1

1. डाउनलोड और इंस्टॉल करें: Microsoft Office डेवलपर टूल

2. संदर्भों से जोड़ें:

C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Visual Studio उपकरण Office \ PIA \ Office15 के लिए


1

मेरे पास एक ही मुद्दा था और Microsoft.Office.Interop "संदर्भ जोड़ें" विकल्प में दिखाई नहीं दे रहा था क्योंकि मैंने VS2012 को VS2015 में अपग्रेड किया था। मैंने मूल रूप से इंस्टॉलेशन ( कंट्रोल पैनल> प्रोग्राम्स एंड फीचर्स> वीएस 2012> राइट क्लिक चेंज> रिपेयर ) की मरम्मत की और माइक्रोसॉफ्ट ऑफिस घटक को जोड़ा। उसके बाद वही समाधान काम करने लगा।


0

सुनिश्चित करें कि आपका प्रोजेक्ट 32 बिट का है।

मुझे यह समस्या थी, जैसे ही मैंने "Prefer 32 bit पर टिक किया और सभी Office Interop असेंबली को फिर से बनाया, जहाँ संदर्भ में उपलब्ध है-> असेंबली->" Office "खोजें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.