2011-06-21 18 views
14

के साथ विभिन्न कार्यालय संस्करणों का समर्थन करता है हमने एक Excel वर्कशीट से डेटा में पढ़ने के लिए Office 2007 (Excel 2007) का उपयोग करने वाला एक ऐप्लिकेशन बनाया है। तथापि। मैंने देखा कि जब मैं Office 2003 के साथ किसी सिस्टम पर एप्लिकेशन को तैनात करना चाहता हूं, तो यह क्रैश हो जाता है क्योंकि अन्य पीआईए (और अन्य डीएलएस) को कार्यालय के इस संस्करण के लिए संदर्भित करने की आवश्यकता होती है।Office Automation

क्या मुझे अपने आवेदन के विभिन्न संस्करणों को कार्यालय के विभिन्न संस्करणों का समर्थन करने में सक्षम होने के लिए संकलित करने की आवश्यकता है या क्या इस समस्या के लिए एक और अधिक सुरुचिपूर्ण समाधान है?

मैं विजुअल स्टूडियो 2010 (सी #) और नेट 4.0 प्लेटफार्म का उपयोग करता हूं।

उत्तर

18

जैसा कि आप .NET 4 का उपयोग कर रहे हैं, आप "एम्बेडेड" पीआईए (उर्फ "नो पीआईए") का उपयोग कर सकते हैं। Office संदर्भ पर विकल्प बदलें ताकि "एम्बेड इंटरऑप प्रकार" सत्य हो।

जब तक आप केवल उस कार्यालय की विशेषताओं का उपयोग करते हैं जो आपके द्वारा तैनात मशीन पर समर्थित है, तो आपको ठीक होना चाहिए।

इसका यह भी मतलब है कि: - कोई विधि या गुण मूल COM इंटरफेस में VARIANT प्रकार के होते हैं जो अब का उपयोग कर प्रस्तुत किया जाता है - आप के बारे में पिया खुद निशाना मशीन पर उपस्थित नहीं किया जा रहा चिंता करने की जरूरत नहीं है dynamic आपके कोड में, जो आपके जीवन को आसान बना सकता है

+0

इससे 2 साल पहले मेरी जिंदगी इतनी आसान हो गई होगी। Vs05 में vsto addins लिखना एक परेशानी थी। – asawyer

+0

यह मेरी समस्या हल हो गया। आपका बहुत बहुत धन्यवाद। – Chris

0

आप कार्यालय के कई संस्करणों के लिए पीआईए का संदर्भ दे सकते हैं, और रनटाइम पर पता लगा सकते हैं जो आपकी कॉल को रूट करने के लिए है।

+0

यह ठीक है आपको नहीं करना चाहिए क्या: http://blogs.msdn.com/b/andreww/archive/2007/06/15/can-you-build-one -ड-इन-फॉर-बहु-संस्करण-ऑफ-ऑफिस.एएसपीएक्स – Andy

+0

यह वास्तव में एक ** अच्छा ** विचार है। मैं यह भी करना चाहता था क्योंकि मेरी कंपनी में हमारे पास विभिन्न कार्यालय संस्करणों के साथ सिस्टम स्थापित हैं। और मैं चाहता था कि मेरे ऐप्स ** किसी भी ** संस्करण का समर्थन करें। – Bitterblue

1

क्या आपके पास कोई अन्य आवश्यकताएं हैं (आप एक्सेल से डेटा पढ़ रहे हैं) पर निर्भर करते हुए, आप एक्सेल फ़ाइल से कनेक्ट करने के लिए OLEDB ड्राइवर का उपयोग कर सकते हैं और SQL में क्वेरी कर सकते हैं तौर तरीका।

उदाहरण: http://codehill.com/2009/01/reading-excel-2003-and-2007-files-using-oledb/

संबंधित मुद्दे