כיצד לעבוד עם אימות נתונים ב- .NET

כיצד לעבוד עם אימות נתונים ב- .NET

Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (א) א ValidationCollection* צלצול Add(CellArea) כדי ליצור A Validation אובייקט ומציב את Type שימוש ValidationType.סוגים תומכים כוללים List, Decimal, ו Custom.• התקנה עם dotnet add package Aspose.Cells_FOSS.

הדרכה שלב אחר צעד

שלב 1: התקנת החבילה

dotnet add package Aspose.Cells_FOSS

שלב 2: ייצוא Namespace

using Aspose.Cells_FOSS;

שלב 3: הוסף רשימה Dropdown Validation

יצירת A CellArea עם CellArea.CreateCellArea(),הוסף את זה ל Worksheet.Validations,ו SET ValidationType.List עם רשימה נפרדת של 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.");

שלב 4: הוסף אימות מגוון דיגיטלי

שימוש ValidationType.Decimal עם OperatorType.Between ו Formula1/Formula2 להגביל את הכניסה המספרת.

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

שלב 5: שילוב אימות מרובה על אותו לוח

ניתן להוסיף מספר כלשהו של אימות לאותו לוח על ידי התקשר Validations.Add() פעמים רבות, כל אחד עם שונה. 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.");

בעיות נפוצות ותקנות

הפריצה לא תופיע ב- Excel לאחר שמירה. ביטחון InCellDropDown = true הוא הוקם על Validation הפריצה נראית רק ב- Excel כאשר הדגל הזה הוא true ו ValidationType.List הוא משתמש .

אימות מאפשר ערכים מחוץ לתחום מוגדר. ההסמכה מבוצעת על ידי Excel, לא על-ידי הספרייה.הגדרת כללי ההסתמכות אינה מונעת לספריה עצמה לכתוב ערך לכל תא.

Formula1 עבור רשימה של אימות מראה כי #NAME? על Excel. עבור רשימה נפרדת של comma, להטביע את השורה בציטוטים נמלטים: Formula1 = "\"Option1,Option2,Option3\"".ללא ציטוטים פנימיים, Excel מטפל הערך כבניין התייחסות לתאים.

OperatorType.Between לא להגיש נכון. להבטיח את שניהם Formula1 (מינימום) ו Formula2 (מגוון) הם מוגדרים כקווים. Formula2 עבור Between הגבול העליון לא מוגדר.

שאלות נפוצות שואלים

האם אני יכול להעריך נגד טווח תא (לדוגמה, טורף נקרא)?

סדנה Formula1 על ידי רשימת תאים כגון "Sheet2!$A$1:$A$10".הערכים בסדרה זו ישמשו כמקור רשימת הנחיתה.

האם ההסמכה מונעת מהספרייה לכתוב ערכים לא נכונים?

לא. חוקי אימות נכנסים לביצוע על ידי Excel כאשר משתמש מזין נתונים.הספרייה של Aspose.Cells FOSS אינה מבצעת אישור בעת התקשרות Cell.PutValue() באופן מתוכנן .

כיצד ניתן להסיר חוק אימות?

גישה לחוק דרך Worksheet.Validations[index] ושימוש ValidationCollection אפשרות אחרת, ליצור מודל ספר עבודה חדש ללא הכללים הלא רצויים.

מהו מספר מקסימלי של אימותים לכל דף?

פורמט XLSX תומך עד 65,530 חוקי אימות לכל לוח עבודה.

ראה גם

 עברית