कैसे .NET में डेटा वैलिडेशन के साथ काम करें

कैसे .NET में डेटा वैलिडेशन के साथ काम करें

Aspose.Cells FOSS for .NET आपको Worksheet.Validations (एक ValidationCollection) के माध्यम से सेल रेंज में डेटा वैधता नियम जोड़ने में सक्षम बनाता है। Add(CellArea) को कॉल करके एक Validation ऑब्जेक्ट बनाएं और ValidationType का उपयोग करके उसके Type को सेट करें। समर्थित प्रकारों में List, Decimal, और Custom शामिल हैं। dotnet add package Aspose.Cells_FOSS के साथ इंस्टॉल करें।

कदम-दर-कदम मार्गदर्शिका

चरण 1: पैकेज स्थापित करें

dotnet add package Aspose.Cells.FOSS

चरण 2: नेमस्पेस आयात करें

using Aspose.Cells_FOSS;

चरण 3: एक सूची ड्रॉपडाउन वैधता जोड़ें

एक CellArea बनाएं CellArea.CreateCellArea() के साथ, इसे Worksheet.Validations में जोड़ें, और Formula1 में एक कॉमा-सेपरेटेड सूची के साथ ValidationType.List सेट करें।

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Dropdown list for A1:A10
var listVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A1", "A10"))];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,In Progress,Closed\"";
listVal.InCellDropDown = true;
listVal.IgnoreBlank = true;
listVal.InputTitle = "Status";
listVal.InputMessage = "Choose a status from the dropdown";

wb.Save("list-validation.xlsx");
Console.WriteLine("List validation added.");

चरण 4: संख्यात्मक रेंज वैलिडेशन जोड़ें

ValidationType.Decimal का उपयोग OperatorType.Between और Formula1/Formula2 के साथ संख्यात्मक इनपुट को सीमित करने के लिए करें।

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Decimal range validation for B1:B10 — allow 0 to 100
var numVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B1", "B10"))];
numVal.Type = ValidationType.Decimal;
numVal.Operator = OperatorType.Between;
numVal.Formula1 = "0";
numVal.Formula2 = "100";
numVal.ErrorTitle = "Out of Range";
numVal.ErrorMessage = "Please enter a number between 0 and 100.";
numVal.ShowError = true;
numVal.IgnoreBlank = true;

wb.Save("decimal-validation.xlsx");
Console.WriteLine("Decimal validation added.");

चरण 5: एक ही शीट पर कई वैलिडेशन को संयोजित करें

आप एक ही शीट पर जितनी चाहें वैलिडेशन जोड़ सकते हैं, Validations.Add() को कई बार कॉल करके, प्रत्येक बार एक अलग CellArea के साथ।

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// List validation for column A (status)
var statusVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A2", "A100"))];
statusVal.Type = ValidationType.List;
statusVal.Formula1 = "\"New,Open,Closed\"";
statusVal.InCellDropDown = true;

// Decimal validation for column B (score)
var scoreVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B2", "B100"))];
scoreVal.Type = ValidationType.Decimal;
scoreVal.Operator = OperatorType.Between;
scoreVal.Formula1 = "0";
scoreVal.Formula2 = "10";
scoreVal.ShowError = true;

wb.Save("combined-validation.xlsx");
Console.WriteLine("Combined validations added to sheet.");

सामान्य समस्याएँ और समाधान

सेव करने के बाद ड्रॉपडाउन Excel में दिखाई नहीं देता है। Ensure InCellDropDown = true पर सेट किया गया है Validation ऑब्जेक्ट को सहेजने से पहले। यह फ़्लैग होने पर ही ड्रॉपडाउन Excel में दिखाई देता है true and ValidationType.List का उपयोग किया जाता है।

वैधता परिभाषित सीमा के बाहर के मानों को अनुमति देती है। वैधता को Excel लागू करता है, लाइब्रेरी नहीं। वैधता नियम सेट करने से लाइब्रेरी को सेल में कोई भी मान लिखने से नहीं रोका जाता। वैधता तब लागू होती है जब उपयोगकर्ता Excel में डेटा दर्ज करता है।

Formula1 सूची वैधता के लिए यह इस प्रकार दिखता है #NAME? Excel में। इनलाइन कॉमा-सेपरेटेड सूची के लिए, स्ट्रिंग को एस्केप्ड कोट्स में रखें: Formula1 = "\"Option1,Option2,Option3\"". बिना अंदर के कोट्स के, Excel मान को सेल रेफ़रेंस फ़ॉर्मूला के रूप में मानता है।

OperatorType.Between सही ढंग से लागू नहीं हो रहा है। सुनिश्चित करें कि दोनों Formula1 (minimum) और Formula2 (maximum) स्ट्रिंग्स के रूप में सेट हों। अनुपस्थित Formula2 for Between ऊपरी सीमा को अपरिभाषित छोड़ देता है।

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

क्या मैं सेल रेंज (जैसे नामित रेंज) के खिलाफ मान्यकरण कर सकता हूँ?

Formula1 को "Sheet2!$A$1:$A$10" जैसी सेल रेंज रेफ़रेंस पर सेट करें। उस रेंज में मौजूद मान ड्रॉपडाउन सूची स्रोत के रूप में उपयोग किए जाएंगे।

क्या मान्यकरण लाइब्रेरी को अवैध मान लिखने से रोकता है?

नहीं। मान्यकरण नियम उपयोगकर्ता द्वारा डेटा दर्ज करने पर Excel द्वारा लागू किए जाते हैं। Aspose.Cells FOSS लाइब्रेरी प्रोग्रामेटिक रूप से Cell.PutValue() को कॉल करने पर मान्यकरण लागू नहीं करती।

मैं वैधता नियम को कैसे हटाऊँ?

नियम तक Worksheet.Validations[index] के माध्यम से पहुँचें और नियमों को प्रबंधित करने के लिए ValidationCollection ऑपरेशन्स का उपयोग करें। वैकल्पिक रूप से, अनचाहे नियमों के बिना एक नया वर्कबुक मॉडल बनाएं।

प्रति शीट अधिकतम वैधता नियमों की संख्या क्या है?

XLSX फ़ॉर्मेट प्रति कार्यपत्रक अधिकतम 65,530 वैधता नियमों का समर्थन करता है।

यह भी देखें

 हिन्दी