Jak pracovat s ověřováním dat v .NET

Jak pracovat s ověřováním dat v .NET

Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (a) ValidationCollection) Volání Add(CellArea) vytvořit Validation objekt a nastavit jeho Type Použití: ValidationType.Podporované typy zahrnují: List, Decimal,a) Custom. Nainstalovat s dotnet add package Aspose.Cells_FOSS.

Krok za krokem

Krok 1: Nainstalujte balíček

dotnet add package Aspose.Cells_FOSS

Krok 2: Importovat prostor pro jména

using Aspose.Cells_FOSS;

Krok 3: Přidání vyvěšovacího ověření seznamu

Vytvořit CellArea s: CellArea.CreateCellArea(), přidejte to k Worksheet.Validations, a nastavit ValidationType.List s odděleným číslem v písmenech a) až b), 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.");

Krok 4: Přidání numerického rozsahu ověření

Použití: ValidationType.Decimal s: OperatorType.Between a) Formula1/Formula2 omezit číselný vstup.

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

Krok 5: Spojte více ověřování na stejném listu

Můžete přidat libovolný počet ověřování na stejný list zavoláním Validations.Add() několikrát, každý s jinou 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.");

Obvyklé problémy a řešení

Popisková položka se v Excelu po uložení neobjeví. Zajištění: InCellDropDown = true je nastaven na: Validation Objekt před ukládáním. Odkládací položka je viditelná pouze v Excelu, když je tato značka true a) ValidationType.List je použita.

Validace umožňuje hodnoty mimo definovaný rozsah. Ověřování je vynucováno Excelem, ne knihovnou. Nastavení pravidel ověření nezabrání samotné knížce v psaní jakékoli hodnoty do buňky. Vyrovnání se uplatňuje při zadávání dat uživatelem do programu Excel.

Formula1 pro validaci seznamu se zobrazuje jako: #NAME? v Excelu. Pro seznam v řádku oddělený přepínačemi zavírejte režii do únikových citátů: Formula1 = "\"Option1,Option2,Option3\"".Bez vnitřních odvolání Excel zachází s hodnotou jako se vzorec.

OperatorType.Between nesprávné použití. Zajistit obě. Formula1 (minimální) a Formula2 (maximum) jsou nastaveny jako řetězce. Chybí Formula2 pro: Between nechává horní hranici nedefinovanou.

Časté otázky

Mohu ověřit proti rozsahu buněk (např. jmenovaný rozsah)?

Sestavení: Formula1 na referenční rozsah buněk, jako je: "Sheet2!$A$1:$A$10".Hodnoty v tomto rozsahu budou použity jako zdroj rozbalovaného seznamu.

Zaručuje ověřování knihovně, aby zapsala neplatné hodnoty?

Ne. Pravidla ověřování jsou vynucována v Excelu, když uživatel zadá data. Knihovna Aspose.Cells FOSS nepovoluje ověření při volání. Cell.PutValue() programově.

Jak odstraním ověřovací pravidlo?

Přístup k pravidlu přes Worksheet.Validations[index] a použití ValidationCollection Alternativně vytvořte nový model pracovní knihy bez nežádoucích pravidel.

Jaký je maximální počet ověřování na list?

Formát XLSX podporuje až 65 530 ověřovacích pravidel na pracovní list.

Viz také:

 Čeština