
אימות נתונים ב-Excel מבטיח שמשתמשים יכניסו רק נתונים תקפים בגיליונות עבודה. בעיצוב טפסים, איסוף נתונים או בניית מודלים פיננסיים, אימותי נתונים עוזרים לשמור על מבנה ולמזער שגיאות משתמש. בפוסט זה, נציג לכם כיצד ליישם אימות נתונים ב-Excel באמצעות C# בצורה תכנותית.
מאמר זה מכסה את הנושאים הבאים:
- ספריית אימות נתונים של Excel C#
- Create a dropdown list in Excel using C#
- Restrict whole number input in Excel using C#
- תאריך טווח אימות ב-Excel באמצעות C#
- אימות נתונים מבוסס נוסחאות ב-Excel
- לטפל בנתונים לא תקינים עם התראות שגיאה באקסל
- משאבים חינמיים
C# ספריית אימות נתוני Excel
אימות נתונים מבטיח שמשתמשים מזינים קלט תקף וצפוי בגיליונות Excel. אנו נעשה שימוש ב- Aspose.Cells for .NET API כדי להוסיף סוגים שונים של אימות נתונים ב-Excel. הוא מספק גישה חזקה וגמישה להגדיר כללים כמו רשימות נגללות, טווחים מספריים, גבולות תאריך ונוסחאות מותאמות אישית, כל זאת מבלי לדרוש את Microsoft Excel.
התקן את Aspose.Cells עבור .NET דרך NuGet בחבילה בפרויקט שלך:
PM> Install-Package Aspose.Cells
אז ייבא את המרחב המתאים:
using Aspose.Cells;
Create Dropdown List Validation in Excel using C#
אתה יכול להגביל את הקלט של המשתמש לקבוצת אפשרויות מוגדרת מראש על ידי יצירת אימות רשימת נפתח ב-Excel. זה מבטיח ערכים עקביים, במיוחד שימושי בטפסים או בתבניות.
עקוב אחרי הצעדים הבאים כדי ליצור רשימת נפתח ב-Excel באמצעות C#:
- צור אובייקט
Workbook
חדש. - גשת ל
worksheet
הראשון באמצעות האינדקס שלו. - מגדיר את הטארגט
CellArea
לאימות. - גשו לאוסף הוולידציות של הגיליון.
- הוסף אימות חדש באמצעות מתודת
Add()
. - שנה את סוג האימות ל
ValidationType.List
. - הגדר את אפשרויות הרשימה הנפתחת באמצעות מכProperty
Formula1
(מופרדות בפסיקים). - הוסף את שטח התא לאימות באמצעות השיטה
AddArea()
. - שמור את חוברת העבודה כדי ליצור את קובץ ה-Excel המאומת.
הנה דוגמת קוד C# שמיישמת את הצעדים הללו:
// צור ספר עבודה חדש של Excel
var workbook = new Workbook();
// גש לגיליון הראשון בחוברת העבודה
var sheet = workbook.Worksheets[0];
// הגדר את אזור תאי היעד לאימות (A1 במקרה זה)
var area = new CellArea
{
StartRow = 0, // Row index starts from 0 (Row 1)
EndRow = 0, // Apply to a single row
StartColumn = 0, // Column index starts from 0 (Column A)
EndColumn = 0 // Apply to a single column
};
// גש לאוסף האימותים של הגיליון
var validations = sheet.Validations;
// הוסף רשומת אימות חדשה עבור אזור התאים המפורט
int index = validations.Add(area);
var validation = validations[index];
// הגדר את סוג האימות לרשימה נפתחת
validation.Type = ValidationType.List;
// א_defin__ל רשימת הפריטים המותרת (ערכים מופרדים בפסיקים)
validation.Formula1 = "Red,Green,Blue";
// הגדר את הודעת הקלט המוצגת כאשר התא נבחר
validation.InputMessage = "Select a color from the list.";
// הכנס את הודעת השגיאה שתוצג אם נתונים לא חוקיים מזינים.
validation.ErrorMessage = "Only Red, Green, or Blue are allowed.";
// אפשר להציג את הודעת השגיאה
validation.ShowError = true;
// החל את האזור המוגדר על האימות
validation.AddArea(area);
// שמור את גיליון העבודה בדרך הקובץ המיועדת
workbook.Save("dropdown-validation.xlsx");

יצירת אימות רשימת נפתח ב-Excel באמצעות C#
Restrict to Whole Numbers in Excel using C#
אימות מספר שלם מבטיח שמשתמשים יזינו רק ערכים שלמים תקפים ב-Excel, מה שמושלם עבור שדות כמות, קלטי גיל או גיליונות תקציב שבהם חצאים או טקסט אינם מקובלים.
נאמר שאתה רוצה להגביל תא לקבל רק מספרים בין 1 ל-100. ללא חוק זה, משתמשים עשויים להקליד בטעות קלטים לא תקינים כמו 150 או abc, מה שגורם לשגיאות חישוב או בעיות לוגיות בגיליון העבודה שלך.
עם Aspose.Cells עבור .NET, אתה יכול לאכוף את חוקי האימות הללו בתכנות ב-C# מבלי צורך להגדיר אותם ידנית ב-Excel.
הקוד הבא מראה כיצד להגביל משתמשים להזין רק את הערכים המותרים:
using Aspose.Cells;
// צור חוברת עבודה חדשה של Excel
var workbook = new Workbook();
// היכנס לגיליון הראשון בספר העבודה
var sheet = workbook.Worksheets[0];
// הגדר את אזור תא היעד — B2 (שורה 1, עמודה 1)
var area = new CellArea
{
StartRow = 1,
EndRow = 1,
StartColumn = 1,
EndColumn = 1
};
// גש לאוסף האימותים של גיליון העבודה
var validations = sheet.Validations;
// הוסף אימות חדש וקבל את המיקום שלו
int index = validations.Add(area);
// שחזר את אובייקט הוולידציה באמצעות האינדקס
var validation = validations[index];
// הגדר את סוג האימות ל- WholeNumber (רק שלמים מותר)
validation.Type = ValidationType.WholeNumber;
// הגדיר את המפעיל ל בין
validation.Operator = OperatorType.Between;
// הגדר את הטווח התקף: 1 עד 100
validation.Formula1 = "1";
validation.Formula2 = "100";
// הגדר את הודעת השגיאה המופיעה כאשר נכנסים נתונים לא חוקיים
validation.ErrorMessage = "Enter a number between 1 and 100.";
// אפשר לאפשר הצגת התראת שגיאה כאשר האימות נכשל
validation.ShowError = true;
// (אופציונלי אם לא משתמשים ב- Add(area) מוקדם יותר) הוסף את האזור לאימות באופן מפורש
validation.AddArea(area);
// שמור את חוברת העבודה לקובץ
workbook.Save("numbers-validation.xlsx");

מגביל למספרים שלמים באקסל באמצעות C#
חוקי תאריך טווח ב-Excel בעזרת C#
אימות תאריכים עוזר לך להבטיח שהמשתמשים יכנסו רק תאריכים תקפים. זה מועיל בכלים לתכנון, רשומות נוכחות, גיליונות הזמנה, וכל תרחיש שבו אתה זקוק לתאריכים בטווח מסוים.
למשל, דמייני שאת בונה תבנית לתיאום פרויקטים, ורוצה להגביל את המשתמשים להזין תאריכים רק בשנת 2024. מתן אפשרות למשתמשים להזין תאריך מחוץ לטווח זה (כמו 2023 או 2025) עלול לשבור נוסחאות או ליצור רשומות לא עקביות.
Aspose.Cells עבור .NET מקלה על החלת אימות תאריכים על תאים ספציפיים, כך שמשתמשים יכולים להזין רק תאריכים העומדים בקריטריונים שלך.
הקטע הקוד הבא מדגים כיצד להבטיח שמשתמשים יוכלו להזין רק תאריכים בין 1 בינואר 2024 ל-31 בדצמבר 2024. כל דבר שאoutside הטווח יגרום לשגיאה, ועוזר לך לשמור על נתונים נקיים ומדויקים יותר ברחבי הגיליון האלקטרוני שלך.
using Aspose.Cells;
// צור חוברת עבודה חדשה באקסל
var workbook = new Workbook();
// גשת לגיליון הראשון בעבודת הספר
var sheet = workbook.Worksheets[0];
// הגדר את אזור התא ליישום אימות — C3 (שורה 2, עמודה 2)
var area = new CellArea
{
StartRow = 2,
EndRow = 2,
StartColumn = 2,
EndColumn = 2
};
// Access the validations collection of the worksheet
var validations = sheet.Validations;
// הוסף אימות חדש וקבל את האינדקס שלו
int index = validations.Add(area);
// שחזר את אובייקט האימות
var validation = validations[index];
// Set the validation type to Date
validation.Type = ValidationType.Date;
// שנה את המפעיל ל"בין" (תאריכי התחלה וסוף)
validation.Operator = OperatorType.Between;
// לציין את הטווח התאריכי התקף: 1 בינואר 2024 עד 31 בדצמבר 2024
validation.Formula1 = "2024-01-01";
validation.Formula2 = "2024-12-31";
// שנה את הודעת השגיאה שתוצג כאשר התאריך מחוץ לטווח
validation.ErrorMessage = "Date must be within the year 2024.";
// אפשר להציג את התראת השגיאה
validation.ShowError = true;
// שוב יש ליישם את האזור כדי להבטיח שהאימות מוגדר כראוי
validation.AddArea(area);
// שמור את חוברת העבודה במסלול המוגדר
workbook.Save("date-validation.xlsx");
תשתמש באימות מבוסס נוסחאות באקסל באמצעות C#
לפעמים, תפריטים פשוטים או טווחי מספרים קבועים אינם מספיקים, במיוחד כאשר הכללים שלך תלויים בערכים בתאים אחרים. עם אימות מבוסס נוסחאות, אתה יכול להגדיר כללים מותאמים אישית באמצעות נוסחאות בסגנון Excel. כללים אלה יכולים להפנות לתאים אחרים ולהעריך באופן דינמי אם הקלט תקף. לדוגמה, ייתכן שתרצה להבטיח שהערך בתא B1 תמיד יהיה גדול מערך A1. זהו תרחיש נפוץ בהשוואות מחירים, גיליונות ניקוד או רצפי תאריכים.
Aspose.Cells for .NET תומכת לחלוטין בתכונה זו ומאפשרת לך להגדיר אימות באמצעות נוסחאות מותאמות אישית בדיוק כמו ב-Excel.
הדוגמה הבאה של קוד מראה כיצד להחיל אימותים מבוססי נוסחאות ב-Excel באמצעות C#.
using Aspose.Cells;
// צור חוברת עבודה חדשה של אקסל
var workbook = new Workbook();
// גשת לגיליון הראשון ביישום העבודה
var sheet = workbook.Worksheets[0];
// הגדר את אזור התא לאימות — B1 (שורה 0, עמודה 1)
var area = new CellArea
{
StartRow = 0,
EndRow = 0,
StartColumn = 1,
EndColumn = 1
};
// גש לאוסף האימותים של גיליונות העבודה
var validations = sheet.Validations;
// הוסף תיקוח חדש לאוסף וקבל את האינדקס שלו
int index = validations.Add(area);
// אחזר את אובייקט האימות לפי אינדקס
var validation = validations[index];
// שנה את סוג האימות ל- Custom (משמש עבור כללים מבוססי נוסחה)
validation.Type = ValidationType.Custom;
// קבע את הנוסחה המותאמת: B1 חייב להיות גדול מ-A1
validation.Formula1 = "=B1>A1";
// הגדר את הודעת השגיאה המוצגת כאשר האימות נכשל
validation.ErrorMessage = "Value in B1 must be greater than A1.";
// אפשר להציג את התראה על שגיאה כשיש קלט לא חוקי
validation.ShowError = true;
// הוסף את האזור באופן מפורש כדי להבטיח שהוא מכוסה על ידי אימות
validation.AddArea(area);
// שמור את ספר העבודה במסלול הקובץ המיועד
workbook.Save("formula-validation.xlsx");
Configure Input and Error Messages in Excel Using C#
אכיפת אימות נתונים היא רק חלק מהפתרון. הנחיית משתמשים כאשר הם מקלידים נתונים שגויים היא חשובה לא פחות, וכאן ההתראות וההודעות המותאמות נכנסות לתמונה.
Aspose.Cells עבור .NET מאפשרת לך להגדיר הודעות קלט מועילות והתרעות שגיאה שמופיעות כאשר משתמשים בוחרים תא או מכניסים נתונים בלתי חוקיים. הודעות אלו משפרות את חווית המשתמש, מפחיתות בלבול, והופכות את תבניות ה-Excel שלך ליותר מקצועיות.
למשל, כאשר משתמש לוחץ על תא, אתה יכול להראות טוליפ כמו
`רק ערכים מ-1 עד 100 מותרים.”
ואם הם יכניסו ערך שגוי, אקסל יכול להציג תיבת דו-שיח שאומרת:
`הכנסה לא válida: אנא הזן מספר בין 1 ל-100.”
אתה יכול גם להתאים את האופן שבו Excel מגיב לקלט לא תקף על ידי בחירה אם לחסום את המשתמש לחלוטין (Stop
), לאפשר לו להמשיך עם אזהרה (Warning
), או פשוט להציג הודעת מידע (Information
).
עקוב אחר הצעדים הללו כדי להגדיר התראות אימות باستخدام C#:
- לאחר הגדרת כלל האימות, הגדר את
InputTitle
ואתInputMessage
כדי להראות טקסט עזרה כאשר משתמש בוחר בתא. - Define the
ErrorTitle
andErrorMessage
כדי להסביר מה השתבש אם האימות נכשל. - בחר סגנון
AlertStyle
— האפשרויות כוללותStop
,Warning
, ו-Information
. - הגדר
ShowError
לtrue
כדי לאפשר את התראה על תשומת לב לא תקינה. - שמור את חוברת העבודה.
ההודעות הללו הופכות את הגיליון אלקטרוני שלך לאינטואיטיבי יותר וידידותי למשתמש, במיוחד כאשר אתה יוצר תבניות עבור אחרים להשתמש או לחזור עליהן לעיתים קרובות.
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
// הגדר אזור אימות — החל על תא C1
var area = new CellArea
{
StartRow = 0,
EndRow = 0,
StartColumn = 2, // Column C = 2
EndColumn = 2
};
// הוסף אימות
int index = sheet.Validations.Add(area);
var validation = sheet.Validations[index];
validation.Type = ValidationType.Custom;
// הנוסחה הזו תמיד מעריכה ל- FALSE
validation.Formula1 = "=FALSE";
// הגדר הודעות קלט ושגיאה
validation.InputTitle = "Input Restricted";
validation.InputMessage = "Try entering anything to see the validation.";
validation.ErrorTitle = "Invalid Input";
validation.ErrorMessage = "You triggered this validation error successfully!";
validation.AlertStyle = ValidationAlertType.Stop;
validation.ShowError = true;
validation.ShowInput = true;
// החל אימות לאזור
validation.AddArea(area);
// שמור את חוברת העבודה מאושרת
workbook.Save("D:\\Files\\validated_with_alerts.xlsx");
ההתראות משפרות את השימושיות ומנחות את המשתמשים ברור מה להכניס.

Configure Input and Error Messages in Excel Using C#
נסה את זה בחינם
קבל רישיון זמני free temporary license כדי לבדוק את כל היכולות של Aspose.Cells עבור .NET ללא מגבלות תכונה.
משאבים חינמיים
חקור עוד על אוטומציה ואימות של Excel באמצעות המשאבים הללו:
מסקנה
במאמר זה, הצגנו כיצד ליישם אימות נתונים ב-Excel באמצעות C# עם Aspose.Cells עבור .NET. מתפריטים נפתחים ועד לנוסחאות מותאמות אישית, אתה יכול לבנות גיליונות אלקטרוניים אינטליגנטיים וחסינים שגיאות מבלי לסמוך על Excel עצמו.
אם יש לכם שאלות או משוב, אנא אל תהססו לפרסם אותם בפורום התמיכה free support forum.נשמח לעזור!