2012-05-08 10 views
10

क्लोज़ेडएक्सएमएल के समान ओपनएक्सएमएल (या ओपनएक्सएमएल में एक प्रकार का अबास्ट्रक्शन लेयर जोड़ें) को बढ़ाने वाले कुछ पुस्तकालय क्या हैं?ओपनएक्सएमएल लाइब्रेरीज़ (क्लोज़ेडएक्सएमएल के विकल्प)

मैं कम से कम 1.0 संस्करण के साथ एक वाणिज्यिक या फ्रीवेयर उपकरण की तलाश में हूं।

अग्रिम धन्यवाद।

+3

मुझे पता है कि यह एक पुराना सवाल है, लेकिन क्या कोई कारण नहीं है कि आप क्यों नहीं थे ClosedXML से खुश? क्या यह एक राजनीतिक चीज है जहां इसे एक प्रमुख संस्करण संख्या की आवश्यकता है, या क्या आपको लगता है कि क्लॉस्डएक्सएमएल पर्याप्त स्थिर नहीं था? – jamiebarrow

+0

क्लॉस्डएक्सएमएल के साथ मेरी समस्या यह है कि यह कई मामलों में काम नहीं करता है। सरणी सूत्रों, तालिका सूत्रों, SUMIF के साथ कक्षों का संदर्भ देना कुछ चीजें हैं जो पुस्तकालय को पूरी तरह से तोड़ देती हैं।ईपीप्लस के साथ – Vedran

उत्तर

14

ओपन-सोर्स: क्या आपने EPPlus पर देखा है?

नारा: सर्वर पर उन्नत Excel 2007/2010 स्प्रेडशीट बनाएं।

लाइसेंस: जीएनयू लाइब्रेरी जनरल पब्लिक लाइसेंस (एलजीपीएल)।

+0

क्या हम पावर प्वाइंट फ़ाइल में डेटा या चार्ट उत्पन्न या लिख ​​सकते हैं? या यह केवल एक्सेल तक ही सीमित है? – Mou

+1

हां, आप पावरपॉइंट फाइलें बना सकते हैं। जिस तरह से हम इसे समाप्त कर रहे थे, वह कुछ टेम्पलेट फाइलों का उपयोग कर रहा था और फिर ईपीप्लस का उपयोग करके उन्हें जोड़ रहा था। –

16

SpreadsheetLight, और यह आंतरिक रूप से ओपन एक्सएमएल एसडीके पर चलता है। एमआईटी लाइसेंस अस्वीकरण: मैंने स्प्रेडशीटलाइट लिखा था।

+1

अच्छी लाइब्रेरी! मैं प्रदर्शन के बारे में सोच रहा हूँ। यह ClosedXML, EPPlus या अन्य पुस्तकालयों (वाणिज्यिक) गेमबॉक्स की तुलना में कैसे दिखता है। स्प्रेडशीट या स्प्रेडशीट गियर 2010? मुझे पता है कि स्प्रेडशीटलाइट मुफ्त लाइब्रेरी है लेकिन इसे गति जानना चाहेंगे :) – Misiu

41

मैं पिछले सप्ताह में ईपीप्लस, क्लॉस्डएक्सएमएल और स्प्रेडशीटलाइट का मूल्यांकन कर रहा हूं। सभी तीन वास्तव में महान पुस्तकालय हैं जो बेहद शांत ओपनएक्सएमएल के साथ काम करते हैं। मैंने निम्नलिखित कारणों से ईपीप्लस के साथ जाने का फैसला किया है:

  • प्रारंभ में, मैं क्लॉस्डएक्सएमएल के साथ जा रहा था। इसमें बहुत अच्छा दस्तावेज है और ऑब्जेक्ट स्ट्रक्चर ने मुझे बहुत समझदारी दी है। मेरे पास कुछ चार्टिंग आवश्यकताएं हैं और अभी के रूप में, ClosedXML में कोई चार्टिंग फ़ंक्शन नहीं है।

  • फिर मैंने स्प्रेडशीटलाइट पर ठोकर खाई, जिसमें अच्छे दस्तावेज़ भी हैं और कुछ चार्टिंग का समर्थन करते हैं। मुझे लेखक के दृष्टिकोण और उसके उत्पाद के प्रति उनकी वचनबद्धता भी पसंद है। हालांकि, यह परियोजना ओपनएक्सएमएल 2.0 एसडीके के शीर्ष पर बनाई गई है, 2.5 नहीं, जो मेरे लिए एक सौदा ब्रेकर है क्योंकि मैं ओपनएक्सएमएल के साथ सीधे काम करने की लचीलापन चाहता हूं, इस स्थिति में लाइब्रेरी मेरी ज़रूरतों को पूरा नहीं करती है। मेरा प्रोजेक्ट एक्सेल 2013 को लक्षित कर रहा है, इसलिए मैं नवीनतम एसडीके के साथ काम करना चाहता हूं।

  • अंत में, मैं ईपीप्लस में आया, जिसमें ठीक दस्तावेज है और चार्टिंग का समर्थन करता है। यह दो अन्य लोगों की तुलना में कहीं अधिक बार डाउनलोड किया गया है जो मुझे यह जानने में कुछ सुरक्षा देता है कि अन्य इसका उपयोग कर रहे हैं और समुदाय परियोजना के आसपास सक्रिय प्रतीत होता है। वे वर्तमान में संस्करण 4 के बीटा 2 पर भी हैं जो दूसरों के कहने से वादा करता है। मुझे यह भी मिल रहा है कि ईपीप्लस के पास अच्छा प्रदर्शन है (नहीं कि दूसरों को जरूरी है) और आगामी संस्करण 4 उस पर सुधार कर रहा है।


अद्यतन

एक और बहुत उपयोगी सुविधा मैंने पाया EPPlus के साथ शामिल है कि यह कैसे कार्यपत्रक के विभिन्न भागों के लिए एक्सएमएल को उजागर करता है। यदि ऐसी सुविधा है जो ईपीप्लस द्वारा समर्थित नहीं है, तो आप वांछित आउटपुट प्राप्त करने के लिए अभी भी एक्सएमएल (कुछ मामलों में) संपादित कर सकते हैं। उदाहरण के लिए, यदि आपके पास पिवोट चार्ट है और आप बहु-स्तर के लेबल सक्षम करना चाहते हैं, तो आप निम्न कार्य कर सकते हैं:

private void EnableMultiLevelLabels(ExcelChart chart) 
    { 
     var element = chart.ChartXml.GetElementsByTagName("c:catAx")[0]; 
     if (element == null) 
      return; 

     var multiLevelLabelNode = element.AppendChildElementNode("c:noMultiLvlLbl"); 
     if (multiLevelLabelNode != null) 
      multiLevelLabelNode.AppendNodeAttribute("val", "0"); 
    } 
+1

इस तरह का एक अच्छा जवाब! – nawfal

+0

@nawfal: धन्यवाद! – Chris

+0

मैं सहमत हूं। अद्भुत जवाब! मैं ऑब्जेक्ट मॉडल के कारण ClosedXML का उपयोग करना चाहता था, लेकिन इस जवाब ने मुझे पूरी तरह से घुमाया। मैं सोच रहा हूं कि क्या EPPlus किसी भी तरह ClosedXML के ऑब्जेक्ट मॉडल को अपना सकता है? आपके क्या विचार हैं? –

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