التحقق من صحة البيانات في إكسل باستخدام C#

التحقق من صحة البيانات في Excel يضمن أن المستخدمين يدخلون بيانات صالحة فقط في الأوراق. عند تصميم النماذج، جمع البيانات، أو بناء النماذج المالية، يساعد التحقق من صحة البيانات في الحفاظ على الهيكل وتقليل أخطاء المستخدمين. في هذه المقالة، سنوضح لك كيف يمكنك تطبيق التحقق من صحة البيانات في Excel باستخدام C# برمجياً.

يغطي هذا المقال الموضوعات التالية:

مكتبة التحقق من صحة بيانات Excel بلغة C#

تضمن مصادقة البيانات أن يقوم المستخدمون بإدخال بيانات صحيحة ومتوقعة في جداول بيانات Excel. سنستخدم Aspose.Cells for .NET API لإضافة أنواع مختلفة من مصادقة البيانات في Excel. يوفر مقاربة قوية ومرنة لتحديد القواعد مثل قوائم الاختيار، والمجالات الرقمية، وحدود التواريخ، والصيغ المخصصة، كل ذلك دون الحاجة إلى Microsoft Excel.

قم بتثبيت حزمة Aspose.Cells for .NET عبر NuGet في مشروعك:

PM> Install-Package Aspose.Cells

ثم استورد مساحة الاسم ذات الصلة:

using Aspose.Cells;

إنشاء التحقق من قائمة المنسدلة في Excel باستخدام C#

يمكنك تقييد إدخال المستخدم إلى مجموعة محددة مسبقًا من الخيارات من خلال إنشاء قائمة منسدلة للتحقق في Excel. يضمن هذا قيم ثابتة، وهو مفيد بشكل خاص في النماذج أو القوالب.

اتبع هذه الخطوات لإنشاء قائمة منسدلة في Excel باستخدام C#:

  1. أنشئ كائن Workbook جديد.
  2. الوصول إلى worksheet الأول باستخدام مؤشره.
  3. قم بتعريف الهدف CellArea للتحقق.
  4. قم بالوصول إلى مجموعة التحقق من صحة ورقة العمل.
  5. أضف تحققًا جديدًا باستخدام طريقة Add() .
  6. قم بتعيين نوع التحقق إلى ValidationType.List.
  7. حدد خيارات القائمة المنسدلة باستخدام خاصية Formula1 (مفصولة بفواصل).
  8. قم بإضافة منطقة الخلية إلى التحقق باستخدام طريقة AddArea().
  9. احفظ ملف العمل لإنشاء ملف Excel المُعتمد.

إليك مثال على كود C# الذي ينفذ هذه الخطوات:

// أنشئ مصنف Excel جديد
var workbook = new Workbook();

// الوصول إلى ورقة العمل الأولى في المصنف
var sheet = workbook.Worksheets[0];

// حدد منطقة خلية الهدف للت Validation (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;

// حدد عناصر القائمة المسموحة (قيم مفصولة بفواصل)
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#

إنشاء قائمة منسدلة للتحقق في Excel باستخدام C#

تقييد الأعداد الكاملة في إكسل باستخدام C#

يضمن التحقق من الأعداد الصحيحة أن يقوم المستخدمون بإدخال قيم صحيحة صالحة فقط في Excel، وهو أمر مثالي لحقول الكمية، ومدخلات العمر، أو جداول الميزانية حيث لا تقبل الكسور أو النصوص.

لنقل أنك ترغب في تقييد خلية لقبول الأرقام فقط بين 1 و 100. بدون هذه القاعدة، يمكن أن يدخل المستخدمون عن طريق الخطأ مدخلات غير صالحة مثل 150 أو abc، مما يتسبب في أخطاء حسابية أو مشاكل منطقية في جدول البيانات الخاص بك.

باستخدام Aspose.Cells for .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");
تقييد الأرقام الكاملة في Excel باستخدام C#

قم بتقييد الأعداد الصحيحة فقط في Excel باستخدام C#

تطبيق تحقق من نطاق التاريخ في Excel باستخدام C#

يساعد التحقق من صحة التاريخ في التأكد من أن المستخدمين يدخلون تواريخ صالحة فقط. إنه مفيد في أدوات التخطيط، وسجلات الحضور، وأوراق الحجز، وأي سيناريو تحتاج فيه إلى تواريخ ضمن نطاق معين.

على سبيل المثال، تخيل أنك تبني قالب جدولة لمشروع، وتريد تقييد المستخدمين لإدخال التواريخ فقط ضمن عام 2024. السماح للمستخدمين بإدخال تاريخ خارج هذا النطاق (مثل 2023 أو 2025) قد يتسبب في كسر الصيغ أو إنشاء سجلات غير متسقة.

Aspose.Cells for .NET تجعل من السهل تطبيق التحقق من صحة التاريخ على خلايا معينة، بحيث يمكن للمستخدمين إدخال تواريخ تتوافق فقط مع معاييرك.

توضح مقتطفات الشيفرة التالية كيفية التأكد من أن المستخدمين يمكنهم إدخال تواريخ فقط بين 1 يناير 2024 و 31 ديسمبر 2024. أي شيء خارج النطاق سيؤدي إلى ظهور خطأ، مما يساعدك في الحفاظ على بيانات أنظف وأكثر دقة عبر جدول البيانات الخاص بك.

using Aspose.Cells;

// إنشاء مصنف Excel جديد
var workbook = new Workbook();

// الوصول إلى ورقة العمل الأولى في دفتر العمل
var sheet = workbook.Worksheets[0];

// حدد منطقة الخلية لتطبيق التحقق — C3 (الصف 2، العمود 2)
var area = new CellArea
{
    StartRow = 2,
    EndRow = 2,
    StartColumn = 2,
    EndColumn = 2
};

// الوصول إلى مجموعة التحقق من الصحة في ورقة العمل
var validations = sheet.Validations;

// أضف تحقق جديد واحصل على فهرسه
int index = validations.Add(area);

// استرجع كائن التحقق
var validation = validations[index];

// اضبط نوع التحقق على التاريخ
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");

استخدم التحقق القائم على الصيغة في Excel باستخدام C#

في بعض الأحيان، لا تكفي القوائم المنسدلة البسيطة أو نطاقات الأرقام الثابتة، خاصة عندما تعتمد قواعدك على القيم في خلايا أخرى. مع التحقق القائم على الصيغ، يمكنك تعريف قواعد مخصصة باستخدام صيغ على طريقة إكسل. يمكن أن تشير هذه القواعد إلى خلايا أخرى وتقيم ديناميكيًا ما إذا كان الإدخال صالحًا. على سبيل المثال، قد ترغب في التأكد من أن القيمة في الخلية B1 أكبر دائمًا من القيمة في A1. إنه سيناريو شائع في مقارنات الأسعار، وأوراق الدرجات، أو تسلسلات التواريخ.

أسبوس.سيلز ل .NET يدعم هذه الميزة بالكامل ويتيح لك تعريف التحقق باستخدام صيغ مخصصة تمامًا كما في إكسل.

تظهر عينة الشيفرة التالية كيفية تطبيق التحقق من الصحة المستند إلى الصيغ في Excel باستخدام C#.

using Aspose.Cells;

// إنشاء مصنف Excel جديد
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];

// قم بتعيين نوع التحقق إلى مخصص (يستخدم لقواعد مستندة إلى الصيغة)
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");

تكوين رسائل الإدخال والخطأ في Excel باستخدام C#

يعد تطبيق التحقق من صحة البيانات جزءًا فقط من الحل. إن إرشاد المستخدمين عندما يدخلون بيانات غير صحيحة لا يقل أهمية، وهنا تلعب التنبيهات والرسائل المخصصة دورًا رئيسيًا.

يتيح Aspose.Cells for .NET إعداد رسائل إدخال مفيدة وتنبيهات خطأ تظهر عندما يختار المستخدمون خلية أو يدخلون بيانات غير صالحة. تعمل هذه الرسائل على تحسين تجربة المستخدم، وتقليل الارتباك، وجعل قوالب Excel الخاصة بك أكثر احترافية.

على سبيل المثال، عندما ينقر المستخدم على خلية، يمكنك عرض تلميح مثل

“فقط القيم من 1 إلى 100 مُسموح بها.”

وإذا أدخلوا قيمة غير صحيحة، يمكن لـ Excel عرض مربع حوار يقول:

“مدخل غير صالح: يرجى إدخال رقم بين 1 و 100.”

يمكنك أيضًا تخصيص كيفية استجابة Excel للإدخال غير الصحيح عن طريق اختيار ما إذا كنت تريد حظر المستخدم تمامًا (Stop)، أو السماح له بالمتابعة مع تحذير (Warning)، أو ببساطة عرض رسالة معلوماتية (Information).

اتبع هذه الخطوات لتكوين تنبيهات التحقق باستخدام C#:

  1. بعد إعداد قاعدة التحقق، قم بتعيين InputTitle و InputMessage لعرض نص المساعدة عندما يختار المستخدم الخلية.
  2. حدد ErrorTitle و ErrorMessage لشرح ما حدث خطأ إذا فشلت عملية التحقق.
  3. اختر AlertStyle — الخيارات تشمل Stop و Warning و Information.
  4. قم بتعيين ShowError إلى true لتمكين تنبيه التحقق.
  5. احفظ المصنف.

تجعل هذه التنبيهات جدول بياناتك أكثر بديهية وسهولة في الاستخدام، خاصةً عندما تقوم بإنشاء قوالب لاستخدام الآخرين أو إعادة استخدامها بشكل متكرر.

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

إن تنبيهاتهم تعزز من قابلية الاستخدام وتوجه المستخدمين بشكل واضح حول ما يجب إدخاله.

تكوين رسائل الإدخال والخطأ في إكسل باستخدام C#

تكوين رسائل الإدخال والخطأ في Excel باستخدام C#

جربه مجانًا

احصل على رخصة مؤقتة مجانية لاختبار القدرات الكاملة لـ Aspose.Cells for .NET دون أي حدود للميزات.

موارد مجانية

استكشف المزيد حول أتمتة Excel والتحقق من صحة البيانات باستخدام هذه الموارد:

الخاتمة

في هذه المقالة، لقد أظهرنا كيفية تنفيذ التحقق من صحة البيانات في Excel باستخدام C# مع Aspose.Cells for .NET. من قوائم السحب إلى الصيغ المخصصة، يمكنك بناء جداول بيانات ذكية وخالية من الأخطاء دون الاعتماد على Excel نفسه.

إذا كانت لديك أي أسئلة أو ملاحظات، فلا تتردد في نشرها على منتدى الدعم free support forum.سنكون سعيدين بمساعدتك!

انظر أيضًا