एक्सेल में प्रोग्रामेटिक रूप से सर्कुलर संदर्भ का पता लगाना

परिचय

जब एक्सेल फ़ाइलों के साथ काम करने की बात आती है, तो सबसे ज़्यादा परेशान करने वाली समस्याओं में से एक सर्कुलर संदर्भ है। ऐसा तब होता है जब कोई फ़ॉर्मूला सीधे या परोक्ष रूप से अपने ही सेल को संदर्भित करता है, जिससे एक लूप बनता है जो एक्सेल के कैलकुलेशन इंजन को भ्रमित कर सकता है। लेकिन डरें नहीं! .NET के लिए Aspose.Cells के साथ, आप प्रोग्रामेटिक रूप से इन कष्टप्रद सर्कुलर संदर्भों का पता लगा सकते हैं, यह सुनिश्चित करते हुए कि आपकी स्प्रेडशीट कार्यात्मक और सटीक बनी रहे। इस गाइड में, हम आपको चरण-दर-चरण प्रक्रिया से अवगत कराएँगे, जिससे यह बहुत आसान हो जाएगा।

आवश्यक शर्तें

इससे पहले कि हम वृत्तीय संदर्भों का पता लगाने की बारीकियों में उतरें, आइए सुनिश्चित करें कि आपके पास आरंभ करने के लिए आवश्यक सभी चीजें मौजूद हैं:

  1. विज़ुअल स्टूडियो: सुनिश्चित करें कि आपके मशीन पर विज़ुअल स्टूडियो स्थापित है। यह आपका विकास वातावरण होगा।
  2. .NET फ्रेमवर्क: सुनिश्चित करें कि आप .NET फ्रेमवर्क का संगत संस्करण (कम से कम .NET फ्रेमवर्क 4.0) उपयोग कर रहे हैं।
  3. Aspose.Cells लाइब्रेरी: आपके पास Aspose.Cells लाइब्रेरी होनी चाहिए। आप इसे यहाँ से डाउनलोड कर सकते हैंAspose वेबसाइट.
  4. C# का बुनियादी ज्ञान: C# प्रोग्रामिंग से परिचित होना लाभदायक होगा, क्योंकि हम इस भाषा में कोड लिखेंगे।
  5. एक्सेल फ़ाइल: एक एक्सेल फ़ाइल तैयार रखें जिसमें परीक्षण के लिए परिपत्र संदर्भ हों। आप एक सरल फ़ाइल बना सकते हैं या एक नमूना डाउनलोड कर सकते हैं। अब जब हमने अपनी पूर्व-आवश्यकताएं तय कर ली हैं, तो चलिए मज़ेदार भाग की ओर बढ़ते हैं!

पैकेज आयात करें

कोडिंग शुरू करने से पहले, आपको आवश्यक पैकेज आयात करने होंगे। इसे कैसे करें, यहाँ बताया गया है:

एक नया प्रोजेक्ट बनाएं

  • विज़ुअल स्टूडियो खोलें और एक नया C# कंसोल अनुप्रयोग प्रोजेक्ट बनाएं।

Aspose.Cells संदर्भ जोड़ें

  • समाधान एक्सप्लोरर में अपने प्रोजेक्ट पर राइट-क्लिक करें।
  • “NuGet पैकेज प्रबंधित करें” चुनें.
  • “Aspose.Cells” खोजें और नवीनतम संस्करण स्थापित करें।

आवश्यक नामस्थान आयात करें

आपके शीर्ष परProgram.cs फ़ाइल में, आवश्यक नामस्थान आयात करें:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

अब जब हमने सब कुछ सेट कर लिया है, तो आइए एक्सेल फ़ाइल में वृत्तीय संदर्भों का पता लगाने के लिए कोड पर नजर डालें।

चरण 1: इनपुट निर्देशिका निर्धारित करें

सबसे पहले, आपको वह डायरेक्टरी निर्दिष्ट करनी होगी जहाँ आपकी एक्सेल फ़ाइल स्थित है। यहीं पर आप अपनी एक्सेल फ़ाइल लोड करेंगे।

// इनपुट निर्देशिका
string sourceDir = "Your Document Directory";

प्रतिस्थापित करें"Your Document Directory" आपकी एक्सेल फ़ाइल का वास्तविक पथ.

चरण 2: LoadOptions के साथ कार्यपुस्तिका लोड करें

इसके बाद, आप अपनी एक्सेल वर्कबुक लोड करेंगे। यहीं से जादू शुरू होता है!

LoadOptions loadOptions = new LoadOptions();
var objWB = new Aspose.Cells.Workbook(sourceDir + "Circular Formulas.xls", loadOptions);

यहाँ, हम एक नया उदाहरण बना रहे हैंLoadOptions और निर्दिष्ट पथ से कार्यपुस्तिका लोड करना। सुनिश्चित करें कि आपका एक्सेल फ़ाइल नाम मेल खाता है!

चरण 3: पुनरावृति सेटिंग सक्षम करें

वृत्तीय संदर्भों की अनुमति देने के लिए, आपको कार्यपुस्तिका में पुनरावृत्ति सेटिंग्स को सक्षम करना होगा।

objWB.Settings.Iteration = true;

यह Aspose.Cells को गणना के दौरान वृत्तीय संदर्भों की अनुमति देने के लिए कहता है।

चरण 4: गणना विकल्प और परिपत्र मॉनिटर बनाएँ

अब, आइए गणना विकल्प और अपना कस्टम सर्कुलर मॉनिटर बनाएं।

CalculationOptions copts = new CalculationOptions();
CircularMonitor cm = new CircularMonitor();
copts.CalculationMonitor = cm;

यहाँ, हम इसका एक उदाहरण बना रहे हैंCalculationOptions और एक कस्टमCircularMonitorयह मॉनिटर गणना के दौरान पाए गए किसी भी परिपत्र संदर्भ को ट्रैक करने में मदद करेगा।

चरण 5: सूत्रों की गणना करें

अब, आपकी कार्यपुस्तिका में सूत्रों की गणना करने का समय आ गया है।

objWB.CalculateFormula(copts);

यह पंक्ति गणना निष्पादित करती है और वृत्तीय संदर्भों की जांच करती है।

चरण 6: परिपत्र संदर्भों की गणना करें

गणना के बाद, आप गिन सकते हैं कि कितने वृत्तीय संदर्भ पाए गए।

long lngCircularRef = cm.circulars.Count;
Console.WriteLine("Circular References found - " + lngCircularRef);

यह आपकी एक्सेल फ़ाइल में पाए गए वृत्तीय संदर्भों की संख्या का आउटपुट देगा।

चरण 7: परिणाम प्रदर्शित करें

अंत में, परिणाम प्रदर्शित करें और पुष्टि करें कि हमारी विधि सफलतापूर्वक निष्पादित हुई।

Console.WriteLine("DetectCircularReference executed successfully.\r\n");

चरण 8: CircularMonitor क्लास को लागू करें

प्रक्रिया को पूरा करने के लिए, आपको निम्न को लागू करना होगा:CircularMonitor वर्ग। यह वर्ग इनसे विरासत में मिलेगाAbstractCalculationMonitor और वृत्तीय संदर्भों का पता लगाने का काम संभालते हैं।

public class CircularMonitor : AbstractCalculationMonitor
{
    public ArrayList circulars = new ArrayList();
    public ArrayList Circulars { get { return circulars; } }
    public override bool OnCircular(IEnumerator circularCellsData)
    {
        CalculationCell cc = null;
        ArrayList cur = new ArrayList();
        while (circularCellsData.MoveNext())
        {
            cc = (CalculationCell)circularCellsData.Current;
            cur.Add(cc.Worksheet.Name + "!" + CellsHelper.CellIndexToName(cc.CellRow, cc.CellColumn));
        }
        circulars.Add(cur);
        return true;
    }
}

यह वर्ग प्रत्येक वृत्तीय संदर्भ का विवरण प्राप्त करता है, जिसमें वर्कशीट का नाम और सेल इंडेक्स शामिल है।

निष्कर्ष

.NET के लिए Aspose.Cells का उपयोग करके Excel में सर्कुलर संदर्भों का पता लगाना एक सरल प्रक्रिया है, जब आप इसे प्रबंधनीय चरणों में विभाजित करते हैं। इस गाइड का पालन करके, आप आसानी से अपनी स्प्रेडशीट में सर्कुलर संदर्भों की पहचान और प्रबंधन कर सकते हैं, यह सुनिश्चित करते हुए कि आपकी गणना सटीक और विश्वसनीय बनी रहे। चाहे आप एक अनुभवी डेवलपर हों या अभी शुरुआत कर रहे हों, Aspose.Cells आपकी Excel हेरफेर क्षमताओं को बढ़ाने के लिए शक्तिशाली उपकरण प्रदान करता है।

अक्सर पूछे जाने वाले प्रश्न

एक्सेल में सर्कुलर संदर्भ क्या है?

चक्रीय संदर्भ तब होता है जब कोई सूत्र अपने ही सेल को संदर्भित करता है, जिससे गणनाओं में अंतहीन लूप उत्पन्न होता है।

मैं प्रोग्रामेटिक रूप से वृत्तीय संदर्भों का पता कैसे लगा सकता हूँ?

आप कस्टम गणना मॉनिटर को कार्यान्वित करके वृत्तीय संदर्भों का प्रोग्रामेटिक रूप से पता लगाने के लिए .NET में Aspose.Cells लाइब्रेरी का उपयोग कर सकते हैं।

Aspose.Cells का उपयोग करने के लिए पूर्वापेक्षाएँ क्या हैं?

आपको Visual Studio, .NET Framework, और Aspose.Cells लाइब्रेरी स्थापित करने की आवश्यकता है।

क्या मैं Aspose.Cells का निःशुल्क उपयोग कर सकता हूँ?

हां, Aspose.Cells एक निःशुल्क परीक्षण प्रदान करता है जिसका उपयोग आप इसकी सुविधाओं का पता लगाने के लिए कर सकते हैं।

मैं Aspose.Cells के बारे में अधिक जानकारी कहां पा सकता हूं?

आप यहां जा सकते हैंAspose.Cells दस्तावेज़ीकरण विस्तृत जानकारी और उदाहरण के लिए.