मैं कई शीट के साथ एक्सेल वर्कबुक से पढ़ने के लिए ओलेडब का उपयोग कर रहा हूं।
मुझे शीट नामों को पढ़ने की आवश्यकता है, लेकिन मुझे उन्हें उसी क्रम में चाहिए, जिस क्रम में उन्हें स्प्रेडशीट में परिभाषित किया गया है; इसलिए यदि मेरे पास एक फाइल है जो इस तरह दिखती है;
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
फिर मुझे शब्दकोश प्राप्त करने की आवश्यकता है
1="GERMANY",
2="UK",
3="IRELAND"
मैंने उपयोग करने की कोशिश की है OleDbConnection.GetOleDbSchemaTable()
, और यह मुझे नामों की सूची देता है, लेकिन यह वर्णानुक्रम में उन्हें क्रमबद्ध करता है। अल्फा-सॉर्ट का मतलब है कि मुझे नहीं पता कि कौन सी शीट नंबर किसी विशेष नाम से मेल खाती है। तो मुझे मिलता है;
GERMANY, IRELAND, UK
जिसने UK
और के क्रम को बदल दिया है IRELAND
।
मुझे इसे सॉर्ट करने के लिए कारण की आवश्यकता है कि मुझे उपयोगकर्ता को नाम या इंडेक्स द्वारा डेटा की एक श्रेणी चुनने देना है; वे 'GERMANY से IRELAND का सारा डेटा' या 'शीट 1 से शीट 3 का डेटा' के लिए पूछ सकते हैं।
किसी भी विचार की बहुत प्रशंसा की जाएगी।
अगर मैं कार्यालय इंटरोप कक्षाओं का उपयोग कर सकता हूं, तो यह सीधा होगा। दुर्भाग्य से, मैं नहीं कर सकता क्योंकि इंटरोप कक्षाएं गैर-संवादात्मक वातावरण जैसे कि विंडोज़ सेवाओं और ASP.NET साइटों में मज़बूती से काम नहीं करती हैं, इसलिए मुझे OLEDB का उपयोग करने की आवश्यकता थी।