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_FOSS2. 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.