2010-08-24 9 views
10

मैं किसी भी उपलब्ध एक्सेल "हेल्पर" कक्षाओं की तलाश में हूं जो .NET के लिए लिखे गए हैं (सी # नहीं होना चाहिए)। मैं मूल्यांकन करना चाहता हूं कि दूसरों को क्या उपयोगी और सामान्य स्थैतिक (और गैर स्थैतिक) सहायक तरीके माना जाता है। वीएसटीओ या नियमित कार्यालय स्वचालन में लक्षित किया जा सकता है, हालांकि इससे कोई फर्क नहीं पड़ता।क्या होगा अगर सी # के लिए एक्सेल "सहायक" वर्ग पुस्तकालयों को मुक्त करने के लिए कोई लिंक मौजूद है?

मुझे लगता है कि मुझे यह भी इंगित करना चाहिए कि यह प्रश्न "ऑब्जेक्ट ऑब्जेक्ट मॉडल स्वचालन का उपयोग करने के लिए अच्छे विकल्प (या मुफ्त विकल्प) के लिए नहीं पूछ रहा है। मैं वास्तव में एसएस गियर के लिंक नहीं चाहता हूं, हालांकि वे वे सभी बेहतरीन उत्पाद हैं जो प्रश्न का उद्देश्य नहीं हैं।

यदि मैं पिछले पैराग्राफ में पर्याप्त स्पष्ट नहीं था: मुझे उस राज्य के उत्तर नहीं चाहिए - इस मुफ्त (या मुक्त नहीं) तृतीय पक्ष घटक का उपयोग करें, एक्सेल ऑब्जेक्ट मॉडल कोड के बजाय

तो मूल रूप से जो मैं पूछ रहा था वह उपयोगकर्ता विकसित सी # कोड पुस्तकालय था जिसमें वीएसटीओ, कार्यालय या एक्सेल हेल्पर फ़ंक्शंस शामिल थे जैसे मेन्यू, रिबन के साथ काम करने के लिए स्थिर तरीके , पर्वतमाला, कार्यपुस्तिका, दस्तावेज, एक्सएमएल (जैसे लोगों का उल्लेख किया Otaku) ...

+1

मैं कुछ Excel 2003 परियोजनाओं का सामना करना पड़ा है, और लेखन समाप्त हो गया और नियमित रूप से इन का उपयोग कर आसान मेनू को संभालने के लिए कक्षाएं: http://www.clear-lines.com/blog/post/Excel-VSTO-add-in-menu-manager.aspx यह एक फ्रिंज मुद्दा है, यह सुनिश्चित नहीं है कि यह एक लायक है अलग जवाब! – Mathias

उत्तर

4

एक्सेल के लिए कार्यालय स्वचालन के मामले में, कुछ अच्छे पावरशेल ओपन एक्सएमएल cmdlets हैं जिनका उपयोग पीएस के लिए किया जा सकता है या Announcing the Release of PowerTools for Open XML V1.1 पर सी # पर पोर्ट किया जा सकता है। एरिक व्हाइट का ब्लॉग, जहां यह लिंक है, ने हाल ही में ओपन एक्सएमएल का उपयोग कर एक्सेल ऑटोमेशन पर गहराई से देखा है, जैसे Table Markup in Open XML SpreadsheetML। ओपन एक्सएमएल के बारे में नोट - हालांकि यह कई लोगों द्वारा पसंदीदा तरीका है, आपको वास्तव में ओपन एक्सएमएल एसडीके का उपयोग नहीं करना है - आप Excel 2007/2010 फ़ाइलों तक पहुंच प्राप्त करने के लिए केवल System.IO.Packaging का उपयोग कर सकते हैं।

इसके अलावा, अक्सर अनदेखी, लेकिन एक्सेल के टुकड़े VSTO के लिए उपलब्ध, ओपन एक्सएमएल और Interop विकास महान हैं। 1, 2, 3

इसके अलावा, वीबी @http://msdn.microsoft.com/en-us/library/8x19fbw1(v=VS.90).aspx के लिए एक्सेल नमूने देखें। ये वीएस के साथ स्थापित होते हैं जब आप इंस्टॉल के दौरान एक भाषा के रूप में वीबी भी चुनते हैं।

अद्यतन: बस ऑल-इन-वन कोड फ्रेमवर्क (कार्यालय) की खोज की जिसमें बहुत सारे एक्सेल सहायक वर्ग हैं। आप इसे पा सकते हैं: http://1code.codeplex.com/releases/view/51868

+0

यह शायद तारीख का सबसे अच्छा जवाब है। ऑल-इन-वन फ्रेमवर्क दिलचस्प है जिसमें COM इंटरऑप क्लीनअप पैटर्न का बहुत अच्छा कार्यान्वयन है। डीईएफ़। बाहर की जाँच करने लायक है। –

2

VSTO परियोजनाओं के लिए:

http://www.add-in-express.com/

गैर VSTO, गैर स्वचालन:

http://www.html-to-pdf.net/excel-library.aspx

नोट: इनमें से कोई भी पुस्तकालय मुक्त नहीं है।

+0

जबकि ये दोनों महान पुस्तकालय हैं, यह प्रश्न एक्सेल हेल्पर लाइब्रेरीज़ के संबंध में था, जो मानकीकृत तृतीय पक्ष घटकों के विपरीत था जो अपने ऑब्जेक्ट मॉडल/एपीआई का उपयोग करते थे। मैंने इसे स्पष्ट करने के लिए अपना प्रश्न संपादित कर लिया है। –

3

VSTO विद्युत उपकरण Excel के साथ काम करने के लिए उपयोगिताओं का एक अच्छा सेट है:
http://msdn.microsoft.com/en-us/magazine/dd263100.aspx

+0

हाँ ये महान और आवश्यक उपकरण हैं जो मैं लगातार उनका उपयोग करता हूं। हालांकि मैं आईडीई के लिए डेवलपर टूलींग के विरोध में सहायक पुस्तकालयों की तलाश में था। हालांकि प्रतिबिंब पर एक्सटेंशन नामस्थान कुछ बहुत ही उपयोगी विस्तार विधियां प्रदान करते हैं। जो खुद को रोल करने से बेहतर हैं। –

3

ExcelDNA एक बहुत ही शांत परियोजना है। यह एक तैनाती मॉडल के साथ एक्सेल से .NET कोड का उपभोग करने के लिए हल्का तरीका प्रदान करता है जो VSTO से कहीं अधिक आसान है। यदि आप उदाहरण के लिए .NET में यूडीएफ लिखना चाहते हैं तो मुझे इसे VSTO के लिए एक दिलचस्प विकल्प मिला।

+0

हाँ यह एक अच्छा मुद्दा है। मैं इस सवाल को संपादित करने जा रहा हूं क्योंकि मैं इस प्रश्न का अधिक से अधिक प्रयास कर रहा था कि वीएसटीओ देव काम के लिए लिबियों ने क्या विकल्प दिया है, इसके बजाय विकल्प और तृतीय पक्ष लाइब्रेरी विकल्प मौजूद हैं। –

2

एक FileHelpers कहा जाता है जो सीएसवी और FileHelpers पुस्तकालय के रूप में एक्सेल डेटा को बचाने के लिए आसानी से जानकारी और इतने पर, यकीन है कि यह पूरी तरह से उड़ा नहीं किया जा सकता एक्सेल स्वचालन पार्स कर सकते हैं के लिए सक्षम बनाता है, लेकिन यह पार्स करने के लिए एक अच्छा प्रगति है।यदि आप देशी बाइनरी फैशन में एक्सेल से निपटने में सक्षम होने के बारे में बात कर रहे हैं, तो कोडप्रोजेक्ट से यह article मदद कर सकता है, यहां भी BIFF parser है जो अंतर्निहित एक्सेल डेटा स्टोरेज को समझता है, और कोडप्रोजेक्ट पर here भी समझता है।

+0

धन्यवाद यह एक अच्छा जवाब है। –

+0

यह स्वचालन नहीं है। –

+0

बहुत सच्चे सर्गेई, हालांकि, कभी-कभी एक्सेल फ़ाइलों को पढ़ने/लिखने की पहुंच को तेज करने की आवश्यकता के दो महत्वपूर्ण परिदृश्यों के कारण, और कभी-कभी प्रकार लाइब्रेरी/पीआईए निर्भरता को हटा दें यह एक उपयोगी उत्तर है। –

2

.NET 4.0 गतिशील कीवर्ड लेखन के साथ एक्सेल स्वचालन नरक के रूप में आसान है।
यदि आप इंटेलिजेंस चाहते हैं तो आप गतिशील कॉल के शीर्ष पर सी # रैपर आसानी से लिख सकते हैं।

अद्यतन
हम 2001 के बाद से एक्सेल स्वचालन के साथ काम कर रहे हैं (वित्तीय addins विकासशील) .From एक्सेल 2000 2010 तक

और यह सब हम जानते हैं कि मानक इंटरॉप बस जब अपने कोड सभी के साथ काम करना चाहिए काम नहीं करता है कार्यालय के संस्करण और सर्विस पैक।

हमने कस्टम इंटरऑप पुस्तकालयों, वीएसटीओ संस्करणों आदि द्वारा कई बार पीटा था। एक साल बाद हमें एकमात्र एक समाधान मिला जो काम करता है - देर से बाध्य कॉल (प्रतिबिंब) के माध्यम से सभी स्वचालन को कॉल करें। यानी ('' नोटपैड कोड '') Type.GetTypeFromProgId('Excel.Application').GetMethod('Visible').Invoke(....).

लेकिन कोड बहुत बड़ा और बदसूरत था, तो हम एक्सेल 1: 1 से कॉपी ऑब्जेक्ट मॉडल के साथ उस बदसूरत कोड को बस लपेटते हैं। जब हमें नई विधि की आवश्यकता होती है तो हम इसे अपने एक्सेल ऑब्जेक्ट मॉडल में जोड़ते हैं और देर से बाध्य कॉल के माध्यम से एक्सेल ऑटोमेशन कॉल करते हैं।

नए गतिशील कीवर्ड के साथ विशेष रूप से रिशेर्पर के गतिशील समर्थन के साथ रैपर के बिना जीना संभव है।

+0

प्रश्न एक्सेल ऑटोमेशन के लिए लिप्युलर पीपीएल के बारे में लिखा गया था, एक्सेल ऑटोमेशन के साथ काम करने के लिए .NET 4 में कौन सी भाषा सुविधाएं उपलब्ध नहीं हैं। क्या आपके पास .NET 4 का उपयोग करने के कोई उदाहरण हैं? –

+0

@ अज्ञात प्रकार अद्यतन देखें। –

+0

बहुत अच्छा। अच्छा काम सर्गेई मैं देख सकता हूं कि आप .NET 4.0 के इतने प्रशंसक क्यों हैं –

2

मैं पसंद इस एक:

Excel Package on CodePlex

यह इतना एक कार्यालय के लिए कोई जरूरत नहीं कंप्यूटर पर इंस्टॉल (या में कारक नहीं हो सकता है) ओपन एक्सएमएल का उपयोग करता है,, लेकिन मैं इसे बहुत आसानी से पाया उपयोग करें और स्थापित करें।

2

मैं वास्तव में NPOI तरह 2003/2007 के लिए प्रारूपों

http://npoi.codeplex.com/

पूरी तरह से स्टैंडअलोन और प्रयोग करने में

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

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