.NET में डेटा वैलिडिंग के साथ कैसे काम करें
Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (ए) ValidationCollectionकॉल करें Add(CellArea) बनाने के लिए एक Validation वस्तु और इसे स्थापित करें Type उपयोग करें ValidationType.समर्थन के प्रकार शामिल हैं List, Decimal,और Custom.स्थापित करें के साथ dotnet add package Aspose.Cells_FOSS.
कदम-दर-चरण गाइड
चरण 1: पैकेज स्थापित करें
dotnet add package Aspose.Cells_FOSSचरण 2: नाम स्थान का आयात करें
using Aspose.Cells_FOSS;चरण 3: एक सूची ड्रॉप-डाउन वैलिडिंग जोड़ें
बनाए A CellArea साथ में CellArea.CreateCellArea(),इसे जोड़ें Worksheet.Validations,और सेट ValidationType.List एक अलग सूची में से एक Formula1.
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 में ड्रॉप-डाउन नहीं दिखाई देता है।. सुनिश्चित करें InCellDropDown = true पर लगाया गया है Validation प्री-बैकअप. डाउनलोड केवल Excel में दिखाई देता है जब यह झंडा true और ValidationType.List इस्तेमाल किया जाता है।.
वैलिडिंग निर्धारित सीमा के बाहर मूल्यों को अनुमति देता है।. वैधता Excel द्वारा लागू की जाती है, पुस्तकालय द्वारा नहीं. वैकल्पिक नियमों को स्थापित करना पुस्तके में किसी भी मूल्य को लिखने से खुद को रोकता नहीं है. जब कोई उपयोगकर्ता Excel में डेटा दर्ज करता है तो वैलीकरण लागू होता है।.
Formula1 एक सूची वैधता के लिए दिखाया गया है कि #NAME? Excel में।. एक इनलाइन कॉम्मा-विभाजित सूची के लिए, भाग को बचने वाले उद्धरणों में लपेटें: Formula1 = "\"Option1,Option2,Option3\"".बिना आंतरिक उद्धरणों, Excel मूल्य को एक सेल संदर्भ सूत्र के रूप में व्यवहार करता है।.
OperatorType.Between सही तरीके से लागू नहीं करें।. दोनों को सुनिश्चित करें Formula1 (कम से कम) और Formula2 (अधिकतम) को तारों के रूप में सेट किया जाता है. खो गया Formula2 के लिए Between ऊपर की सीमा अज्ञात है।.
अक्सर पूछे जाने वाले प्रश्न
क्या मैं एक सेल रेंज (उदाहरण के लिए, नामित रैंक) के खिलाफ वैध कर सकता हूं?
सेट Formula1 एक सेल रिमेट संदर्भ जैसे कि "Sheet2!$A$1:$A$10". उस रेंज में मूल्यों का उपयोग ड्रॉप-डाउन सूची स्रोत के रूप में किया जाएगा।.
क्या वैधता पुस्तकालय को अवांछित मूल्य लिखने से रोकती है?
नहीं. वैलिडिंग नियम Excel द्वारा लागू होते हैं जब एक उपयोगकर्ता डेटा दर्ज करता है. Aspose.Cells FOSS लाइब्रेरी आपके कॉल के दौरान वैलीडिट को लागू नहीं करती है Cell.PutValue() प्रोग्रामिंग के लिए।.
कैसे मैं एक वैधता नियम हटाने के लिए?
नियम के माध्यम से पहुंचें Worksheet.Validations[index] और उपयोग करें ValidationCollection अन्यथा, अवांछित नियमों के बिना एक नया कार्यपुस्तिका मॉडल बनाएं।.
प्रत्येक शीट पर वैधताओं की अधिकतम संख्या क्या है?
XLSX प्रारूप कार्यपत्रक के लिए 65,530 वैधता नियमों तक का समर्थन करता है।.