Hogyan dolgozzunk az adatmeghatározással a .NET-ben?

Hogyan dolgozzunk az adatmeghatározással a .NET-ben?

Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (a) ValidationCollection) Hívás Add(CellArea) létrehozása Validation objektum és állítsa be a Type felhasználása ValidationType.A támogatott típusok közé tartoznak: List, Decimal, és Custom. Beépítés dotnet add package Aspose.Cells_FOSS.

Lépésről lépésre szóló útmutató

1. lépés: telepítse a csomagot

dotnet add package Aspose.Cells_FOSS

2. lépés: Behozni a névterületet

using Aspose.Cells_FOSS;

3. lépés: Adj listát a letöltési rendszerben .

Hozzon létre egy CellArea az CellArea.CreateCellArea(), hozzáadjuk a Worksheet.Validations, és állítson ValidationType.List a következőkben: 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.”);


---

### 4. lépés: Adj numerikus tartomány érvényesítéset

Használat `ValidationType.Decimal` az `OperatorType.Between` és a `Formula1`/`Formula2` hogy korlátozza a numerikus bemenetet.

// 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>

5. lépés: Egyesíts több hitelesítést ugyanazon a lapon

Bármilyen számú hitelesítést is hozzáadhat ugyanazon a laphoz, ha felhívja Validations.Add() többször, mindegyik más 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>

Általános problémák és megoldások

A felhajtó lista nem jelenik meg az Excelben a mentés után. Ensure InCellDropDown = true a következők szerint: Validation Az Excelben csak akkor látható a lemezes listán, ha ez a jelzőt feltüntetik. true és a következők: ValidationType.List Használható.

A validálás a meghatározott tartományon kívüli értékeket engedélyezi. A validációt az Excel hajtja végre, nem a könyvtár. Az érvényesítési szabályok beállításával nem akadályozza meg a saját könyvészetet abban, hogy értékeket írjon a cellába. A validanciát akkor alkalmazzák, amikor egy felhasználó adatokat adja be az excelbe.

Formula1 egy lista érvényesítése esetén a következőképpen mutatja: #NAME? Excelben. Egy írásbeli, virágos elválasztott listára a szalagot kihagyó idézetekkel kell bevinni: Formula1 = "\"Option1,Option2,Option3\"".A belső idézet nélkül az Excel a értéket sejt hivatkozási képletként kezeli.

OperatorType.Between nem megfelelően alkalmazva. Mindkettő biztosítása. Formula1 (minimális) és Formula2 (maximum) a szalagok. Hiányzik Formula2 a következők: Between A felső határ meghatározhatatlan.

Gyakran feltett kérdések

Meg tudom-e érvényesíteni egy cellás tartomány (pl. névvel rendelkező tartalom)?

Összeállítva Formula1 egy cellás tartományra való hivatkozáshoz, például: "Sheet2!$A$1:$A$10".A fenti tartományban lévő értékeket a lehulló listaként használjuk.

A validálás megakadályozza-e a könyvtárat abban, hogy nem érvényes értékeket írjon?

Nem. A hitelesítési szabályokat az Excel érvényesíti, amikor egy felhasználó adatokat adja be. Az Aspose.Cells FOSS könyvtár nem érvényesít a hitelezést, ha felhívja a programot. Cell.PutValue() programmatizálva.

Hogyan távolítsam el a hitelesítési szabályt?

A szabályhoz való hozzáférés: Worksheet.Validations[index] és felhasználása ValidationCollection A munkafüzetben a nem kívánt szabályokat el kell hagyni.

A dokumentációk és a dokumentumok azonosítása.?

Az XLSX formátum legfeljebb 65 530 érvényesítési szabályt támogat munkalaponként.

See Also

 Magyar