कार्यपुस्तिका को टेक्स्ट CSV प्रारूप में सहेजें
परिचय
डेटा से निपटने के दौरान, आपके द्वारा चुना गया प्रारूप वास्तव में यह निर्धारित कर सकता है कि आप इसके साथ कितनी आसानी से काम कर सकते हैं। सारणीबद्ध डेटा को संभालने के लिए सबसे आम प्रारूपों में से एक CSV (अल्पविराम से अलग किए गए मान) है। यदि आप Excel फ़ाइलों के साथ काम करने वाले डेवलपर हैं और आपको कार्यपुस्तिकाओं को CSV प्रारूप में बदलने की आवश्यकता है, तो .NET के लिए Aspose.Cells एक शानदार लाइब्रेरी है जो इस कार्य को सरल बनाती है। इस ट्यूटोरियल में, हम Excel कार्यपुस्तिका को टेक्स्ट CSV प्रारूप में सहजता से बदलने के चरणों को तोड़ेंगे।
आवश्यक शर्तें
इससे पहले कि हम आगे बढ़ें, आइए सुनिश्चित करें कि आपके पास आरंभ करने के लिए सभी चीजें मौजूद हैं:
- C# और .NET का बुनियादी ज्ञान: चूंकि हम C# में कोड लिखेंगे, इसलिए भाषा और .NET फ्रेमवर्क से परिचित होना आवश्यक है।
- Aspose.Cells लाइब्रेरी: सुनिश्चित करें कि आपके विकास परिवेश में Aspose.Cells for .NET लाइब्रेरी स्थापित है। आप इसे डाउनलोड कर सकते हैंयहाँ.
- विज़ुअल स्टूडियो या कोई भी C# IDE: आपको अपना कोड लिखने और निष्पादित करने के लिए एक एकीकृत विकास वातावरण (IDE) की आवश्यकता होगी। विज़ुअल स्टूडियो एक लोकप्रिय विकल्प है।
- एक्सेल कार्यपुस्तिका: एक नमूना एक्सेल कार्यपुस्तिका तैयार करें (उदाहरण के लिए, “book1.xls”) जिसमें रूपांतरण का परीक्षण करने के लिए कुछ डेटा हो।
पैकेज आयात करें
अब जबकि हमने अपनी पूर्व-आवश्यकताओं को पूरा कर लिया है, तो प्रक्रिया का पहला चरण आवश्यक पैकेजों को आयात करना है। अपने C# प्रोजेक्ट में, आपको अपनी कोड फ़ाइल के शीर्ष पर निम्न नामस्थान शामिल करना होगा:
using System.IO;
using Aspose.Cells;
using System;
ये नेमस्पेस आपको एक्सेल फाइलों के साथ काम करने और मेमोरी स्ट्रीम प्रबंधित करने के लिए आवश्यक क्लासेस और विधियों तक पहुंच प्रदान करेंगे।
चरण 1: दस्तावेज़ निर्देशिका का पथ निर्धारित करें
हमारी प्रक्रिया में पहला कदम यह निर्धारित करना है कि हमारे दस्तावेज़ (एक्सेल वर्कबुक) कहाँ संग्रहीत हैं। यह आवश्यक है क्योंकि यह हमारे प्रोग्राम को यह जानने की अनुमति देता है कि उसे प्रोसेस करने के लिए आवश्यक फ़ाइलें कहाँ मिलेंगी।
// दस्तावेज़ निर्देशिका का पथ.
string dataDir = "Your Document Directory";
प्रतिस्थापित करना सुनिश्चित करें"Your Document Directory"
वास्तविक पथ के साथ जहाँ आपकी “book1.xls” फ़ाइल स्थित है। यह आपके कंप्यूटर पर एक निर्देशिका या सर्वर का पथ हो सकता है।
चरण 2: अपनी स्रोत कार्यपुस्तिका लोड करें
इसके बाद, हमें एक्सेल वर्कबुक को लोड करना होगा जिसे CSV प्रारूप में परिवर्तित किया जाएगा।
// अपनी स्रोत कार्यपुस्तिका लोड करें
Workbook workbook = new Workbook(dataDir + "book1.xls");
Workbook
Aspose.Cells लाइब्रेरी से क्लास एक्सेल वर्कबुक में हेरफेर और एक्सेस की अनुमति देता है। फ़ाइल पथ को पास करके, हम प्रोसेसिंग के लिए निर्दिष्ट वर्कबुक लोड कर रहे हैं।
चरण 3: कार्यपुस्तिका डेटा के लिए बाइट ऐरे आरंभ करें
इससे पहले कि हम कार्यपुस्तिका को CSV में परिवर्तित करना शुरू करें, हमें एक खाली बाइट सरणी को आरंभीकृत करना होगा जो अंततः सभी कार्यपत्रक डेटा को रखेगी।
// 0-बाइट सरणी
byte[] workbookData = new byte[0];
यह बाइट ऐरे प्रत्येक वर्कशीट से डेटा को एक एकल संरचना में संयोजित करेगा, जिसे हम बाद में फ़ाइल में लिख सकते हैं।
चरण 4: टेक्स्ट सेव विकल्प सेट करें
अब, आइए हम टेक्स्ट फ़ॉर्मेट को सहेजने के लिए विकल्प सेट करें। आप कस्टम डिलीमीटर चुन सकते हैं या टैब के साथ बने रह सकते हैं।
// टेक्स्ट सेव विकल्प। आप किसी भी प्रकार के विभाजक का उपयोग कर सकते हैं
TxtSaveOptions opts = new TxtSaveOptions();
opts.Separator = '\t'; // टैब को विभाजक के रूप में सेट करना
इस उदाहरण में, हम विभाजक के रूप में टैब वर्ण का उपयोग कर रहे हैं। आप प्रतिस्थापित कर सकते हैं'\t'
किसी भी वर्ण से, जैसे अल्पविराम (,
), यह इस बात पर निर्भर करता है कि आप अपनी CSV का प्रारूप कैसा चाहते हैं।
चरण 5: प्रत्येक वर्कशीट पर पुनरावृत्ति करें
इसके बाद, हम कार्यपुस्तिका के भीतर सभी कार्यपत्रकों को दोहराएंगे, और प्रत्येक को अपने पास सहेज लेंगे।workbookData
array में कार्य करना है, लेकिन आपको पहले यह चुनना होगा कि किस वर्कशीट पर कार्य करना है।
// कार्यपुस्तिका डेटा सरणी के अंदर प्रत्येक कार्यपत्रक डेटा को टेक्स्ट प्रारूप में कॉपी करें
for (int idx = 0; idx < workbook.Worksheets.Count; idx++)
{
// सक्रिय वर्कशीट को टेक्स्ट प्रारूप में सहेजें
MemoryStream ms = new MemoryStream();
workbook.Worksheets.ActiveSheetIndex = idx;
workbook.Save(ms, opts);
लूप कार्यपुस्तिका में प्रत्येक वर्कशीट से होकर गुजरता है।ActiveSheetIndex
इस तरह से सेट किया जाता है कि हर बार लूप के माध्यम से, हम वर्तमान वर्कशीट को सहेज रहे हैं। परिणाम मेमोरी में सहेजे जाएँगेMemoryStream
.
चरण 6: वर्कशीट डेटा पुनर्प्राप्त करें
वर्कशीट को मेमोरी स्ट्रीम में सहेजने के बाद, अगला चरण इस डेटा को पुनः प्राप्त करना और इसे हमारे साथ जोड़ना हैworkbookData
सरणी.
// वर्कशीट डेटा को शीट डेटा सरणी में सहेजें
ms.Position = 0; // मेमोरी स्ट्रीम की स्थिति रीसेट करें
byte[] sheetData = ms.ToArray(); // बाइट सरणी प्राप्त करें
ms.Position = 0;
लिखने के बाद पढ़ने के लिए स्थिति को रीसेट करता है। फिर, हम उपयोग करते हैंToArray()
मेमोरी स्ट्रीम को बाइट ऐरे में परिवर्तित करना जो वर्कशीट डेटा रखता है।
चरण 7: वर्कशीट डेटा संयोजित करें
अब, हम प्रत्येक वर्कशीट से डेटा को एकल में संयोजित करेंगेworkbookData
सरणी पहले आरंभीकृत.
// इस वर्कशीट डेटा को वर्कबुक डेटा सरणी में संयोजित करें
byte[] combinedArray = new byte[workbookData.Length + sheetData.Length];
Array.Copy(workbookData, 0, combinedArray, 0, workbookData.Length);
Array.Copy(sheetData, 0, combinedArray, workbookData.Length, sheetData.Length);
workbookData = combinedArray;
}
हम एक नई सरणी बनाते हैं जो मौजूदा कार्यपुस्तिका डेटा और नई कार्यपत्रिका डेटा दोनों को रखने के लिए पर्याप्त बड़ी होती है। फिर हम बाद में उपयोग के लिए मौजूदा और नए डेटा को इस संयुक्त सरणी में कॉपी करते हैं।
चरण 8: संपूर्ण कार्यपुस्तिका डेटा को फ़ाइल में सहेजें
अंत में, हमारे द्वारा एकत्रित सभी डेटा के साथworkbookData
सरणी, हम इस सरणी को निर्दिष्ट फ़ाइल पथ पर सहेज सकते हैं।
//संपूर्ण कार्यपुस्तिका डेटा को फ़ाइल में सहेजें
File.WriteAllBytes(dataDir + "out.txt", workbookData);
WriteAllBytes
संयुक्त बाइट सरणी लेता है और इसे निर्दिष्ट निर्देशिका में “out.txt” नामक पाठ फ़ाइल में लिखता है।
निष्कर्ष
और अब यह हो गया! आपने .NET के लिए Aspose.Cells का उपयोग करके एक Excel कार्यपुस्तिका को CSV प्रारूप में सफलतापूर्वक परिवर्तित कर लिया है। यह प्रक्रिया न केवल कुशल है, बल्कि यह आगे के विश्लेषण या रिपोर्टिंग के लिए Excel डेटा के आसान हेरफेर की अनुमति देती है। अब आप अपने डेटा प्रोसेसिंग कार्यों को स्वचालित कर सकते हैं या इस कार्यक्षमता को बड़े अनुप्रयोगों में भी एकीकृत कर सकते हैं।
अक्सर पूछे जाने वाले प्रश्न
क्या मैं CSV फ़ाइल के लिए अलग-अलग डिलीमीटर का उपयोग कर सकता हूँ?
हां, आप इसे बदल सकते हैंopts.Separator
किसी भी वर्ण में बदलें, जैसे अल्पविराम या पाइप।
क्या Aspose.Cells का उपयोग निःशुल्क है?
Aspose.Cells निःशुल्क नहीं है, लेकिन आप इसका निःशुल्क परीक्षण प्राप्त कर सकते हैंयहाँ.
CSV के अलावा मैं किस प्रकार के प्रारूपों में सहेज सकता हूँ?
Aspose.Cells XLSX, PDF, आदि सहित कई प्रारूपों में सहेजने की अनुमति देता है।
क्या मैं Aspose.Cells का उपयोग करके बड़ी Excel फ़ाइलों को संसाधित कर सकता हूँ?
हां, Aspose.Cells को बड़ी फ़ाइलों को कुशलतापूर्वक संभालने के लिए डिज़ाइन किया गया है, लेकिन प्रदर्शन सिस्टम संसाधनों पर निर्भर हो सकता है।
मैं अधिक विस्तृत दस्तावेज कहां पा सकता हूं?
आप उनके यहां व्यापक दस्तावेज और उदाहरण पा सकते हैंसंदर्भ साइट.