Comment utiliser la validation des données en .NET
Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (A) à ValidationCollection• Appel Add(CellArea) Pour créer un Validation Objet et définir son Type Utiliser ValidationType.Les types soutenus incluent List, Decimal,et Custom.Installation avec dotnet add package Aspose.Cells_FOSS.
Guide étape par étapes
Étape 1 : Installer le package
dotnet add package Aspose.Cells_FOSSÉtape 2 : Importer le nom de l’espace
using Aspose.Cells_FOSS;Étape 3 : Ajouter une liste de validation Dropdown
Créer un CellArea avec CellArea.CreateCellArea(),Ajouter à Worksheet.Validations,Et s’installe ValidationType.List avec une liste séparée de la 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.");Étape 4 : Ajouter une validation de la gamme numérique
Utiliser ValidationType.Decimal avec OperatorType.Between et Formula1/Formula2 - la limitation des entrées numériques.
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.");Étape 5: Combiner plusieurs validations sur la même feuille
Vous pouvez ajouter un certain nombre de validations à la même feuille en appelés Validations.Add() plusieurs fois, chacun avec un autre 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.");Problèmes communs et fixations
Le dropdown ne apparaît pas dans Excel après sauvegarde. assure InCellDropDown = true Il est mis sur le Validation l’objet avant de sauvegarder. le dropdown n’est visible que dans Excel lorsque cette flamme est true et ValidationType.List est utilisée.
La validation permet des valeurs en dehors de la gamme définie. La validation est exécutée par Excel, pas par la bibliothèque.L’établissement des règles de validations ne empêche pas la librairie elle-même d’écrire une valeur dans la cellule.La validité s’applique lorsque un utilisateur entre les données dans Excel.
Formula1 Pour une validation de la liste, il est indiqué que #NAME? dans Excel. Pour une liste séparée en ligne, versez la barre dans les citations échappées : Formula1 = "\"Option1,Option2,Option3\"".Sans les citations internes, Excel traite la valeur comme une formule de référence cellulaire.
OperatorType.Between Ne pas appliquer correctement. Assurez-vous les deux Formula1 (minimum) et Formula2 (maximum) sont définis comme des filets. manquant Formula2 Pour Between Laisse le haut de la ligne indéfini.
Questions fréquemment posées
Puis-je valider contre une gamme de cellules (par exemple, une gamma nommée)?
Sélection Formula1 à une cellule de référence telle que "Sheet2!$A$1:$A$10".Les valeurs dans ce champ seront utilisées comme source de liste de descente.
La validation empêche-t-elle la bibliothèque d’écrire des valeurs infaillibles ?
No. Les règles de validation sont appliquées par Excel lorsque un utilisateur entre les données. La bibliothèque FOSS ne s’appelle pas à la validité lorsqu’il vous invite Cell.PutValue() Programmatiquement !.
Comment puis-je supprimer une règle de validation ?
Accès à la règle par le biais de Worksheet.Validations[index] et utilisation ValidationCollection Opérations pour gérer les règles. Alternativement, créer un nouveau modèle de livre de travail sans les réglementations indésirables.
Quel est le nombre maximum de validations par feuille ?
Le format XLSX prend en charge jusqu’à 65 530 règles de validation par feuille de travail.