Πώς να εργαστείτε με την επικύρωση δεδομένων στο .NET

Πώς να εργαστείτε με την επικύρωση δεδομένων στο .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: Προσθήκη πιστοποίησης λίστας Dropdown

Δημιουργία 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 Το dropdown είναι ορατό μόνο στο Excel όταν αυτή η σημαία είναι true και ValidationType.List χρησιμοποιείται .

Η επικύρωση επιτρέπει τιμές εκτός του καθορισμένου εύρους. Η επικύρωση επιβάλλεται από το Excel, όχι από τη βιβλιοθήκη.Οι ρυθμίσεις κανόνων επικυρώσεως δεν εμποδίζουν την ίδια τη γραφή να γράψει οποιαδήποτε τιμή στο κελί.Η επικράτηση εφαρμόζεται όταν ένας χρήστης εισάγει δεδομένα στο Excel.

Formula1 Για μια λίστα επικύρωσης δείχνει ότι #NAME? Σε Excel. Για μια εντός γραμμής λίστα χωρισμένη από comma, βυθίστε την αλυσίδα σε απομακρυσμένα αναφορές: Formula1 = "\"Option1,Option2,Option3\"".Χωρίς τις εσωτερικές αναφορές, το Excel αντιμετωπίζει την τιμή ως φόρμουλα παραπομπής κυττάρων.

OperatorType.Between Δεν εφαρμόζεται σωστά. Βεβαιωθείτε και οι δύο Formula1 (του ελάχιστου) και Formula2 (μέγιστο) είναι καθορισμένα ως ράφια. λείπει Formula2 Για Between Αφήστε το ανώτερο όριο αδιανόητο.

Συχνές ερωτήσεις

Μπορώ να επικυρωθώ έναντι μιας κυτταρικής περιόδου (π.χ. ένα ονομαστικό εύρος);?

ΣΕΤΙΔΑ Formula1 σε μια κελική περιφέρεια αναφοράς όπως "Sheet2!$A$1:$A$10".Οι τιμές σε αυτό το εύρος θα χρησιμοποιηθούν ως πηγή λίστας dropdown.

Η επικύρωση εμποδίζει τη βιβλιοθήκη να γράφει ακατάλληλες τιμές;?

Όχι. οι κανόνες επικύρωσης εφαρμόζονται από το Excel όταν ένας χρήστης εισάγει δεδομένα. η βιβλιοθήκη του FOSS δεν επιβάλλει την επικυρώσεις όταν καλείτε Cell.PutValue() Προγραμματικά .

Πώς μπορώ να αφαιρέσω έναν κανόνα επικύρωσης;?

Η πρόσβαση στον κανόνα μέσω Worksheet.Validations[index] και χρησιμοποιεί ValidationCollection Εναλλακτικά, δημιουργήστε ένα νέο μοντέλο βιβλίου εργασίας χωρίς τους ανεπιθύμητους κανόνες.

Ποιος είναι ο μέγιστος αριθμός επικυρώσεων ανά φύλλο;?

Η μορφή XLSX υποστηρίζει μέχρι και 65,530 κανόνες επικύρωσης ανά φύλλο εργασίας.

Δείτε επίσης

 Ελληνικά