تأكيد صحة البيانات
أنواع التحقق من صحة البيانات وتنفيذها
التحقق من صحة البيانات هو القدرة على تعيين القواعد المتعلقة بالبيانات المدخلة في ورقة العمل. على سبيل المثال ، استخدم التحقق من الصحة للتأكد من أن العمود المسمى DATE يحتوي على تواريخ فقط ، أو أن عمودًا آخر يحتوي على أرقام فقط. يمكنك حتى التأكد من أن العمود المسمى DATE يحتوي فقط على تواريخ ضمن نطاق معين. باستخدام التحقق من صحة البيانات ، يمكنك التحكم في ما يتم إدخاله في الخلايا في ورقة العمل.
Microsoft يدعم Excel عددًا من الأنواع المختلفة للتحقق من صحة البيانات. يتم استخدام كل نوع للتحكم في نوع البيانات التي يتم إدخالها في خلية أو نطاق خلية. أدناه ، توضح مقتطفات التعليمات البرمجية كيفية التحقق من صحة ذلك:
- Numbers كلها صحيحة ، أي أنها لا تحتوي على جزء عشري.
- الأعداد العشرية تتبع الهيكل الصحيح. يحدد مثال الكود أن نطاق الخلايا يجب أن يحتوي على مسافتين عشريتين.
- القيم مقيدة بقائمة من القيم. يعرّف التحقق من صحة القائمة قائمة منفصلة من القيم التي يمكن تطبيقها على خلية أو نطاق خلية.
- التواريخ تقع ضمن نطاق معين.
- الوقت ضمن نطاق معين.
- النص ضمن طول حرف معين.
التحقق من صحة البيانات باستخدام Excel Microsoft
لإنشاء عمليات التحقق باستخدام Microsoft Excel:
- في ورقة العمل ، حدد الخلايا التي تريد تطبيق التحقق من الصحة عليها.
- منبيانات القائمة ، حددتصديق. سيتم عرض مربع حوار التحقق.
- انقر علىإعدادات علامة التبويب وأدخل الإعدادات.
التحقق من صحة البيانات مع Aspose.Cells
يعد التحقق من صحة البيانات ميزة قوية للتحقق من صحة المعلومات التي تم إدخالها في أوراق العمل. من خلال التحقق من صحة البيانات ، يمكن للمطورين تزويد المستخدمين بقائمة من الاختيارات ، وتقييد إدخالات البيانات على نوع أو حجم معين ، وما إلى ذلك. في Aspose.Cells ، كل منهماورقة عمل فئة لديهاعمليات التحققالخاصية التي تمثل مجموعة منتصديق أشياء. لإعداد التحقق من الصحة ، قم بتعيين بعض ملفاتتصديقخصائص الفئة على النحو التالي:
- النوع - يمثل نوع التحقق ، والذي يمكن تحديده باستخدام إحدى القيم المحددة مسبقًا في ملفنوع التحققتعداد.
- عامل التشغيل - يمثل العامل الذي سيتم استخدامه في التحقق ، والذي يمكن تحديده باستخدام إحدى القيم المحددة مسبقًا فينوع المشغلتعداد.
- الصيغة 1 - تمثل القيمة أو التعبير المرتبط بالجزء الأول من التحقق من صحة البيانات.
- الصيغة 2 - تمثل القيمة أو التعبير المرتبط بالجزء الثاني من التحقق من صحة البيانات.
عندماتصديق تم تكوين خصائص الكائن ، يمكن للمطورين استخدامCellAreaبنية لتخزين معلومات حول نطاق الخلايا التي سيتم التحقق من صحتها باستخدام التحقق الذي تم إنشاؤه.
أنواع التحقق من صحة البيانات
النوع التحققيتألف التعداد من الأعضاء التالية أسماؤهم:
اسم عضو | وصف |
---|---|
اي قيمة | تشير إلى قيمة من أي نوع. |
الرقم كاملا | تشير إلى نوع التحقق من صحة الأعداد الصحيحة. |
عدد عشري | تشير إلى نوع التحقق من صحة الأرقام العشرية. |
قائمة | تشير إلى نوع التحقق من القائمة المنسدلة. |
تاريخ | تشير إلى نوع التحقق من صحة التواريخ. |
وقت | تشير إلى نوع التحقق من الوقت. |
TextLength | تشير إلى نوع التحقق من طول النص. |
العادة | تشير إلى نوع التحقق المخصص. |
التحقق من صحة بيانات العدد الكامل
باستخدام هذا النوع من التحقق ، يمكن للمستخدمين إدخال أرقام كاملة فقط ضمن نطاق محدد في الخلايا التي تم التحقق من صحتها. توضح أمثلة التعليمات البرمجية التالية كيفية تنفيذ نوع التحقق من WholeNumber. يقوم المثال بإنشاء نفس التحقق من صحة البيانات باستخدام Aspose.Cells الذي أنشأناه باستخدام Microsoft Excel أعلاه.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Create a workbook object. | |
Workbook workbook = new Workbook(); | |
// Create a worksheet and get the first worksheet. | |
Worksheet ExcelWorkSheet = workbook.Worksheets[0]; | |
// Accessing the Validations collection of the worksheet | |
ValidationCollection validations = workbook.Worksheets[0].Validations; | |
// Create Cell Area | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 0; | |
ca.StartColumn = 0; | |
ca.EndColumn = 0; | |
// Creating a Validation object | |
Validation validation = validations[validations.Add(ca)]; | |
// Setting the validation type to whole number | |
validation.Type = ValidationType.WholeNumber; | |
// Setting the operator for validation to Between | |
validation.Operator = OperatorType.Between; | |
// Setting the minimum value for the validation | |
validation.Formula1 = "10"; | |
// Setting the maximum value for the validation | |
validation.Formula2 = "1000"; | |
// Applying the validation to a range of cells from A1 to B2 using the | |
// CellArea structure | |
CellArea area; | |
area.StartRow = 0; | |
area.EndRow = 1; | |
area.StartColumn = 0; | |
area.EndColumn = 1; | |
// Adding the cell area to Validation | |
validation.AddArea(area); | |
// Save the workbook. | |
workbook.Save(dataDir + "output.out.xls"); |
قائمة التحقق من صحة البيانات
يسمح هذا النوع من التحقق من الصحة للمستخدم بإدخال القيم من القائمة المنسدلة. يوفر قائمة: سلسلة من الصفوف التي تحتوي على بيانات. في المثال ، تتم إضافة ورقة عمل ثانية لتحتوي على مصدر القائمة. يمكن للمستخدمين فقط تحديد القيم من القائمة. منطقة التحقق من الصحة هي نطاق الخلايا A1: A5 في ورقة العمل الأولى.
من المهم هنا أن تقوم بتعيين ملفالتحقق من الصحة ملكية لحقيقي.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Create a workbook object. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet. | |
Worksheet worksheet1 = workbook.Worksheets[0]; | |
// Add a new worksheet and access it. | |
int i = workbook.Worksheets.Add(); | |
Worksheet worksheet2 = workbook.Worksheets[i]; | |
// Create a range in the second worksheet. | |
Range range = worksheet2.Cells.CreateRange("E1", "E4"); | |
// Name the range. | |
range.Name = "MyRange"; | |
// Fill different cells with data in the range. | |
range[0, 0].PutValue("Blue"); | |
range[1, 0].PutValue("Red"); | |
range[2, 0].PutValue("Green"); | |
range[3, 0].PutValue("Yellow"); | |
// Get the validations collection. | |
ValidationCollection validations = worksheet1.Validations; | |
// Create Cell Area | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 0; | |
ca.StartColumn = 0; | |
ca.EndColumn = 0; | |
// Create a new validation to the validations list. | |
Validation validation = validations[validations.Add(ca)]; | |
// Set the validation type. | |
validation.Type = Aspose.Cells.ValidationType.List; | |
// Set the operator. | |
validation.Operator = OperatorType.None; | |
// Set the in cell drop down. | |
validation.InCellDropDown = true; | |
// Set the formula1. | |
validation.Formula1 = "=MyRange"; | |
// Enable it to show error. | |
validation.ShowError = true; | |
// Set the alert type severity level. | |
validation.AlertStyle = ValidationAlertType.Stop; | |
// Set the error title. | |
validation.ErrorTitle = "Error"; | |
// Set the error message. | |
validation.ErrorMessage = "Please select a color from the list"; | |
// Specify the validation area. | |
CellArea area; | |
area.StartRow = 0; | |
area.EndRow = 4; | |
area.StartColumn = 0; | |
area.EndColumn = 0; | |
// Add the validation area. | |
validation.AddArea(area); | |
// Save the Excel file. | |
workbook.Save(dataDir + "output.out.xls"); |
تاريخ التحقق من صحة البيانات
باستخدام هذا النوع من التحقق ، يقوم المستخدمون بإدخال قيم التاريخ ضمن نطاق محدد ، أو تلبية معايير محددة ، في الخلايا التي تم التحقق من صحتها. في المثال ، تم تقييد المستخدم لإدخال التواريخ بين 1970 و 1999. هنا ، منطقة التحقق من الصحة هي خلية B1.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Create a workbook. | |
Workbook workbook = new Workbook(); | |
// Obtain the cells of the first worksheet. | |
Cells cells = workbook.Worksheets[0].Cells; | |
// Put a string value into the A1 cell. | |
cells["A1"].PutValue("Please enter Date b/w 1/1/1970 and 12/31/1999"); | |
// Set row height and column width for the cells. | |
cells.SetRowHeight(0, 31); | |
cells.SetColumnWidth(0, 35); | |
// Get the validations collection. | |
ValidationCollection validations = workbook.Worksheets[0].Validations; | |
// Create Cell Area | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 0; | |
ca.StartColumn = 0; | |
ca.EndColumn = 0; | |
// Add a new validation. | |
Validation validation = validations[validations.Add(ca)]; | |
// Set the data validation type. | |
validation.Type = ValidationType.Date; | |
// Set the operator for the data validation | |
validation.Operator = OperatorType.Between; | |
// Set the value or expression associated with the data validation. | |
validation.Formula1 = "1/1/1970"; | |
// The value or expression associated with the second part of the data validation. | |
validation.Formula2 = "12/31/1999"; | |
// Enable the error. | |
validation.ShowError = true; | |
// Set the validation alert style. | |
validation.AlertStyle = ValidationAlertType.Stop; | |
// Set the title of the data-validation error dialog box | |
validation.ErrorTitle = "Date Error"; | |
// Set the data validation error message. | |
validation.ErrorMessage = "Enter a Valid Date"; | |
// Set and enable the data validation input message. | |
validation.InputMessage = "Date Validation Type"; | |
validation.IgnoreBlank = true; | |
validation.ShowInput = true; | |
// Set a collection of CellArea which contains the data validation settings. | |
CellArea cellArea; | |
cellArea.StartRow = 0; | |
cellArea.EndRow = 0; | |
cellArea.StartColumn = 1; | |
cellArea.EndColumn = 1; | |
// Add the validation area. | |
validation.AddArea(cellArea); | |
// Save the Excel file. | |
workbook.Save(dataDir + "output.out.xls"); |
التحقق من صحة بيانات الوقت
باستخدام هذا النوع من التحقق ، يمكن للمستخدمين إدخال أوقات ضمن نطاق محدد ، أو تلبية بعض المعايير ، في الخلايا التي تم التحقق من صحتها. في هذا المثال ، تم تقييد المستخدم على إدخال الأوقات بين 09:00 إلى 11:30 صباحًا. هنا ، منطقة التحقق هي خلية B1.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Create a workbook. | |
Workbook workbook = new Workbook(); | |
// Obtain the cells of the first worksheet. | |
Cells cells = workbook.Worksheets[0].Cells; | |
// Put a string value into A1 cell. | |
cells["A1"].PutValue("Please enter Time b/w 09:00 and 11:30 'o Clock"); | |
// Set the row height and column width for the cells. | |
cells.SetRowHeight(0, 31); | |
cells.SetColumnWidth(0, 35); | |
// Get the validations collection. | |
ValidationCollection validations = workbook.Worksheets[0].Validations; | |
// Create Cell Area | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 0; | |
ca.StartColumn = 0; | |
ca.EndColumn = 0; | |
// Add a new validation. | |
Validation validation = validations[validations.Add(ca)]; | |
// Set the data validation type. | |
validation.Type = ValidationType.Time; | |
// Set the operator for the data validation. | |
validation.Operator = OperatorType.Between; | |
// Set the value or expression associated with the data validation. | |
validation.Formula1 = "09:00"; | |
// The value or expression associated with the second part of the data validation. | |
validation.Formula2 = "11:30"; | |
// Enable the error. | |
validation.ShowError = true; | |
// Set the validation alert style. | |
validation.AlertStyle = ValidationAlertType.Information; | |
// Set the title of the data-validation error dialog box. | |
validation.ErrorTitle = "Time Error"; | |
// Set the data validation error message. | |
validation.ErrorMessage = "Enter a Valid Time"; | |
// Set and enable the data validation input message. | |
validation.InputMessage = "Time Validation Type"; | |
validation.IgnoreBlank = true; | |
validation.ShowInput = true; | |
// Set a collection of CellArea which contains the data validation settings. | |
CellArea cellArea; | |
cellArea.StartRow = 0; | |
cellArea.EndRow = 0; | |
cellArea.StartColumn = 1; | |
cellArea.EndColumn = 1; | |
// Add the validation area. | |
validation.AddArea(cellArea); | |
// Save the Excel file. | |
workbook.Save(dataDir + "output.out.xls"); |
التحقق من صحة بيانات طول النص
باستخدام هذا النوع من التحقق ، يمكن للمستخدمين إدخال قيم نصية بطول محدد في الخلايا التي تم التحقق من صحتها. في المثال ، تم تقييد المستخدم لإدخال قيم سلسلة لا تزيد عن 5 أحرف. منطقة التحقق من الصحة هي خلية B1.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Create a new workbook. | |
Workbook workbook = new Workbook(); | |
// Obtain the cells of the first worksheet. | |
Cells cells = workbook.Worksheets[0].Cells; | |
// Put a string value into A1 cell. | |
cells["A1"].PutValue("Please enter a string not more than 5 chars"); | |
// Set row height and column width for the cell. | |
cells.SetRowHeight(0, 31); | |
cells.SetColumnWidth(0, 35); | |
// Get the validations collection. | |
ValidationCollection validations = workbook.Worksheets[0].Validations; | |
// Create Cell Area | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 0; | |
ca.StartColumn = 0; | |
ca.EndColumn = 0; | |
// Add a new validation. | |
Validation validation = validations[validations.Add(ca)]; | |
// Set the data validation type. | |
validation.Type = ValidationType.TextLength; | |
// Set the operator for the data validation. | |
validation.Operator = OperatorType.LessOrEqual; | |
// Set the value or expression associated with the data validation. | |
validation.Formula1 = "5"; | |
// Enable the error. | |
validation.ShowError = true; | |
// Set the validation alert style. | |
validation.AlertStyle = ValidationAlertType.Warning; | |
// Set the title of the data-validation error dialog box. | |
validation.ErrorTitle = "Text Length Error"; | |
// Set the data validation error message. | |
validation.ErrorMessage = " Enter a Valid String"; | |
// Set and enable the data validation input message. | |
validation.InputMessage = "TextLength Validation Type"; | |
validation.IgnoreBlank = true; | |
validation.ShowInput = true; | |
// Set a collection of CellArea which contains the data validation settings. | |
CellArea cellArea; | |
cellArea.StartRow = 0; | |
cellArea.EndRow = 0; | |
cellArea.StartColumn = 1; | |
cellArea.EndColumn = 1; | |
// Add the validation area. | |
validation.AddArea(cellArea); | |
// Save the Excel file. | |
workbook.Save(dataDir + "output.out.xls"); |
قواعد التحقق من صحة البيانات
عند تنفيذ عمليات التحقق من صحة البيانات ، يمكن التحقق من التحقق من خلال تعيين قيم مختلفة في الخلايا.Cell.GetValidationValue يمكن استخدامها لجلب نتيجة التحقق من الصحة. يوضح المثال التالي هذه الميزة بقيم مختلفة. يمكن تنزيل نموذج الملف من الرابط التالي للاختبار:
sampleDataValidationRules.xlsx
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate the workbook from sample Excel file | |
Workbook workbook = new Workbook(dataDir+ "sample.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Access Cell C1 | |
// Cell C1 has the Decimal Validation applied on it. | |
// It can take only the values Between 10 and 20 | |
Cell cell = worksheet.Cells["C1"]; | |
// Enter 3 inside this cell | |
// Since it is not between 10 and 20, it should fail the validation | |
cell.PutValue(3); | |
// Check if number 3 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 3 a Valid Value for this Cell: " + cell.GetValidationValue()); | |
// Enter 15 inside this cell | |
// Since it is between 10 and 20, it should succeed the validation | |
cell.PutValue(15); | |
// Check if number 15 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 15 a Valid Value for this Cell: " + cell.GetValidationValue()); | |
// Enter 30 inside this cell | |
// Since it is not between 10 and 20, it should fail the validation again | |
cell.PutValue(30); | |
// Check if number 30 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 30 a Valid Value for this Cell: " + cell.GetValidationValue()); |
تحقق مما إذا كانت عملية التحقق من الصحة في الخلية قائمة منسدلة
كما رأينا ، هناك العديد من أنواع عمليات التحقق التي يمكن تنفيذها داخل الخلية. إذا كنت تريد التحقق مما إذا كانت عملية التحقق من الصحة قائمة منسدلة أم لا ،التحقق من الصحة يمكن استخدام الخاصية لاختبار هذا. يوضح نموذج التعليمات البرمجية التالي استخدام هذه الخاصية. يمكن تنزيل ملف نموذج للاختبار من الرابط التالي:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
Workbook book = new Workbook(sourceDir + "sampleValidation.xlsx"); | |
Worksheet sheet = book.Worksheets["Sheet1"]; | |
Cells cells = sheet.Cells; | |
Cell a2 = cells["A2"]; | |
Validation va2 = a2.GetValidation(); | |
if (va2.InCellDropDown) | |
{ | |
Console.WriteLine("A2 is a dropdown"); | |
} | |
else | |
{ | |
Console.WriteLine("A2 is NOT a dropdown"); | |
} | |
Cell b2 = cells["B2"]; | |
Validation vb2 = b2.GetValidation(); | |
if (vb2.InCellDropDown) | |
{ | |
Console.WriteLine("B2 is a dropdown"); | |
} | |
else | |
{ | |
Console.WriteLine("B2 is NOT a dropdown"); | |
} | |
Cell c2 = cells["C2"]; | |
Validation vc2 = c2.GetValidation(); | |
if (vc2.InCellDropDown) | |
{ | |
Console.WriteLine("C2 is a dropdown"); | |
} | |
else | |
{ | |
Console.WriteLine("C2 is NOT a dropdown"); | |
} |
إضافة CellArea إلى التحقق الموجود
قد تكون هناك حالات قد ترغب في إضافتهاCellAreaإلى القائمةتصديق. عندما تضيفCellArea استخدامValidation.AddArea (CellArea cellArea)، Aspose.Cells يتحقق من كل المناطق الموجودة لمعرفة ما إذا كانت المنطقة الجديدة موجودة بالفعل. إذا كان الملف يحتوي على عدد كبير من عمليات التحقق من الصحة ، فسيأخذ هذا نجاحًا في الأداء. للتغلب على هذا ، يوفر APIValidation.AddAreaCellArea cellArea، bool checkIntersection، bool checkEdge) التحقق من صحة إضافة منطقة خلية منطقة ، فحص منطقي طريقة. التحقق من التقاطع تشير المعلمة إلى ما إذا كان سيتم التحقق من تقاطع منطقة معينة مع مناطق التحقق الموجودة. ضبطه علىخاطئة سيعطل فحص مناطق أخرى. الcheckEdge تشير المعلمة إلى ما إذا كان سيتم التحقق من المناطق المطبقة. إذا أصبحت المنطقة الجديدة هي المنطقة العلوية اليسرى ، فسيتم إعادة إنشاء الإعدادات الداخلية. إذا كنت متأكدًا من أن المنطقة الجديدة ليست المنطقة العلوية اليسرى ، فيمكنك تعيين هذا المعامل كـخاطئة.
يوضح مقتطف الشفرة التالي استخدام ملفValidation.AddAreaCellArea cellArea، bool checkIntersection، bool checkEdge) التحقق من صحة إضافة منطقة خلية منطقة ، فحص منطقي طريقة لإضافة جديدCellAreaإلى القائمةتصديق.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// directories | |
string SourceDir = RunExamples.Get_SourceDirectory(); | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
Workbook workbook = new Workbook(SourceDir + "ValidationsSample.xlsx"); | |
// Access first worksheet. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Accessing the Validations collection of the worksheet | |
Validation validation = worksheet.Validations[0]; | |
// Create your cell area. | |
CellArea cellArea = CellArea.CreateCellArea("D5", "E7"); | |
// Adding the cell area to Validation | |
validation.AddArea(cellArea, false, false); | |
// Save the output workbook. | |
workbook.Save(outputDir + "ValidationsSample_out.xlsx"); |
يتم إرفاق ملفات إكسل المصدر والمخرجات كمرجع.