2016-01-19 4 views
12

मुझे .NET कोर कंसोल एप्लिकेशन से लिनक्स पर xlsx फ़ाइल को पार्स करने की आवश्यकता है। हालांकि, मुझे .NET कोर 5 फ्रेमवर्क द्वारा समर्थित Microsoft Office फ़ाइलों को पार्स करने के लिए कोई लाइब्रेरी नहीं मिली।एक्सेल स्प्रेडशीट फ़ाइल पढ़ने के लिए कोई .NET कोर संगत लाइब्रेरी है?

+0

यह आप CSV फ़ाइलों के बजाय एक्सेल स्प्रेडशीट के साथ बाहर काम करने के लिए, या है के लिए है कि संभव है सवाल का? – Maritim

+0

@ मारिटिम मैं निश्चित रूप से सीएसवी फ़ाइल का उपयोग करता हूं, लेकिन इनपुट प्रकार हमारे ग्राहक द्वारा परिभाषित किया जाता है, इसलिए इसे बदला नहीं जा सकता है। –

+0

मुझे नहीं लगता कि वे डेटा को CSV के रूप में सबमिट कर सकते हैं? सीएसवी नौकरी कर सकता है, तो मैं कम से कम पूछता हूं, एक्सेल फ़ाइल भेजने में कोई बात नहीं;) – Maritim

उत्तर

3

क्या आपने Excel Data Reader पर एक नज़र डाली है?

एक NuGet package भी है यदि यह इंस्टॉल करना आसान बनाता है।

एपीआई प्रोजेक्ट फ़ाइल में Office के साथ कोई COM इंटरऑप आवश्यकता नहीं प्रतीत होती है, जिसे लाइब्रेरी में शामिल एंड्रॉइड और सिल्वरलाइट संगत परियोजनाओं के अस्तित्व से आगे समर्थित किया जाता है।

+0

हां, मैंने ExcelDataReader NuGet पैकेज में संदर्भ जोड़ने का प्रयास किया है, लेकिन ऐसा लगता है कि यह केवल पूर्ण डॉट नेट फ्रेमवर्क फ्रेमवर्क DNXCore का समर्थन नहीं करता है। मैंने नेटऑफिस.एक्ससेल पैकेज को भी देखा है, लेकिन यह वही था। –

+1

आप इसके बजाय गिटहब से कोशिश करना चाह सकते हैं। NuGet हाल ही में प्रकाशित अंतिम निर्माण के रूप में हाल ही में प्रकाशित किया गया है। मुझे यकीन है कि मैंने गिटहब में पोर्टेबल क्लास प्रकारों के संदर्भ देखे हैं। अगर यह सीधे काम नहीं करता है, तो आप केवल डीएनएक्स कोर के साथ स्रोत से पुन: संकलित करने का प्रयास कर सकते हैं। .NET आवश्यकता सिर्फ परियोजना स्तर पर हो सकती है। और सबसे बुरी स्थिति में, आप देखेंगे कि नेट क्लास आपको इसे काम करने के लिए बदलने की आवश्यकता होगी। – MutantNinjaCodeMonkey

+1

@MutantNinjaCodeMonkey, यह संभव नहीं होगा क्योंकि लाइब्रेरी 'ICSharpCode.SharpZipLib.dll' का संदर्भ दे रही है जिसमें .NET कोर –

1

आने वाली फ़ाइल को अस्थायी रूप से एक सीएसवी में परिवर्तित करने के लिए Gnumeric और ssconvert का उपयोग करने की एक और संभावना होगी।

आप प्रक्रिया को समाहित करने के लिए command line wrapper लिख सकते हैं।

अद्यतन: यह बहुत विवरण कैसे ssconvert उपयोग करने के लिए (और साथ ही कुछ अन्य कमांड लाइन विकल्प) पोस्ट: Convert xlsx to csv in linux command line

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