Com treballar amb la validació de dades en .NET

Com treballar amb la validació de dades en .NET

Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (a) ValidationCollection) Intercanvi Add(CellArea) per crear un Validation objecte i fixar el seu Type utilitzant ValidationType.Els tipus recollits inclouen: List, Decimal, i Custom.Instal·lar amb dotnet add package Aspose.Cells_FOSS.

Guia de pas a pas

Pas 1: Instal·la el paquet

dotnet add package Aspose.Cells_FOSS

Pas 2: Importeu l’espai de noms

using Aspose.Cells_FOSS;

Pas 3: Agregar una validació de listes desplegables

Crear un CellArea amb CellArea.CreateCellArea(), afegir-ho a Worksheet.Validations, i fixar ValidationType.List amb una llista separada per comas en Formula1.

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.”);


---

### Pas 4: Agregar una validació de rang numèric

Utilització `ValidationType.Decimal` amb `OperatorType.Between` i el `Formula1`/`Formula2` per restringir la entrada numèrica.

// 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.");

<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copy code”

<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>

Pas 5: Combinar múltiples validacions en la mateixa fulla

Podeu afegir qualsevol nombre de validacions a la mateixa pàgina trucant Validations.Add() diverses vegades, cadascuna amb un diferent CellArea.

// 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.”);

<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copy code”

<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>

Problemes comuns i fixos

La llista desplegable no apareix a Excel després de guardar. Ensure InCellDropDown = true està establert en el Validation l’objecte abans de guardar. La llista desplegable només és visible en Excel quan aquesta bandera està true i de la ValidationType.List s’utilitza.

La validació permet valors fora de l’interval definit. La validació és aplicada per Excel, no per la biblioteca. L’establiment de regles de validación no impedeix que la mateixa biblioteca escrigui cap valor a la cèl·lula. La validation s’aplica quan un usuari introdueix dades en Excel.

Formula1 per a una validació de llista mostra com: #NAME? en Excel. Per a una llista en línia separada per comas, envoltar la cadena amb citacions escapades: Formula1 = "\"Option1,Option2,Option3\"".Sense les cotitzacions internes, Excel tracta el valor com una fórmula de referència de cèl·lula.

OperatorType.Between no aplicar correctament. Assegurar ambdues: Formula1 (mínim) i Formula2 (màxim) estan establerts com a cadenes. Formula2 per a: Between deixa el límit superior indefinit.

Preguntes freqüents

Puc validar contra un interval de cèl·lules (per exemple, un intervall nomenat)?

Set de punts Formula1 a una referència de rang de cèl·lules com ara: "Sheet2!$A$1:$A$10".Els valors d’aquest interval s’utilitzarà com a font de la llista desplegable.

La validació impedeix que la biblioteca escrigui valors invàlids?

No. Les regles de validació s’imposen per Excel quan un usuari introdueix dades. La biblioteca FOSS no imposa la validación quan vostè crida a l’aplicació. Cell.PutValue() programàticament.

Com puc eliminar una regla de validació?

Accedir a la regla per mitjà de: Worksheet.Validations[index] i ús ValidationCollection Alternativament, crear un nou model de llibre sense les regles no desitjades.

Quin és el nombre màxim de validacions per fulla?

El format XLSX dóna suport a fins a 65.530 regles de validació per fitxa.

See Also

 Català