اعتبارسنجی داده‌ها در اکسل با استفاده از C#

اعتبار سنجی داده ها در اکسل اطمینان می دهد که کاربران فقط داده های معتبر را در برگه های کار وارد می کنند. در طراحی فرم ها، جمع آوری داده ها یا ساخت مدل های مالی، اعتبار سنجی داده ها به حفظ ساختار و کاهش خطاهای کاربر کمک می کند. در این پست، ما به شما نشان خواهیم داد که چگونه می توان اعتبار سنجی داده ها را در اکسل به صورت برنامه نویسی با استفاده از C# اعمال کرد.

این مقاله موضوعات زیر را پوشش می‌دهد:

کتابخانه اعتبارسنجی داده های Excel C#

اعتبارسنجی داده‌ها اطمینان حاصل می‌کند که کاربران ورودی معتبر و مورد انتظار را در صفحه‌گسترده‌های اکسل وارد کنند. ما از API Aspose.Cells for .NET برای افزودن انواع مختلف اعتبارسنجی داده‌ها در اکسل استفاده خواهیم کرد. این API رویکردی قدرتمند و انعطاف‌پذیر برای تعریف قوانین مانند لیست‌های کشویی، دامنه‌های عددی، محدودیت‌های تاریخی و فرمول‌های سفارشی ارائه می‌دهد، بدون نیاز به مایکروسافت اکسل.

بسته Aspose.Cells برای .NET را از طریق NuGet در پروژه خود نصب کنید:

PM> Install-Package Aspose.Cells

سپس فضای نام مربوطه را وارد کنید:

using Aspose.Cells;

تولید اعتبارسنجی لیست کشویی در اکسل با استفاده از C#

شما می‌توانید ورودی کاربر را به یک مجموعه محدود از گزینه‌های تعریف‌شده محدود کنید با ایجاد اعتبارسنجی لیست کشویی در اکسل. این کار مقادیر یکسانی را تضمین می‌کند، به‌ویژه در فرم‌ها یا الگوها.

این مراحل را برای ایجاد یک لیست کشویی در اکسل با استفاده از C# دنبال کنید:

  1. یک شیء جدید Workbook بسازید.
  2. به اولین worksheet با استفاده از شاخص آن دسترسی پیدا کنید.
  3. هدف CellArea را برای اعتبارسنجی تعریف کنید.
  4. به مجموعه اعتبارسنجی های برگه دسترسی پیدا کنید.
  5. یک تأییدیه جدید با استفاده از روش Add() اضافه کنید.
  6. نوع اعتبارسنجی را به ValidationType.List تنظیم کنید.
  7. گزینه‌های کشویی را با استفاده از ویژگی Formula1 تعریف کنید (با ویرگول جدا شده).
  8. مساحت سلول را با استفاده از روش AddArea() به اعتبارسنجی اضافه کنید.
  9. کارbook را ذخیره کنید تا فایل Excel معتبر ایجاد شود.

در اینجا مثال کد C# است که این مراحل را پیاده‌سازی می‌کند:

// یک workbook جدید در 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
};

// به مجموعه اعتبارسنجی‌های worksheet دسترسی پیدا کنید
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);

// کارbook را در مسیر فایل مشخص شده ذخیره کنید
workbook.Save("dropdown-validation.xlsx");
ایجاد اعتبارسنجی لیست کشویی در اکسل با استفاده از C#

ایجاد اعتبارسنجی لیست کشویی در اکسل با استفاده از C#

محدود کردن به اعداد صحیح در اکسل با استفاده از C#

تایید عدد صحیح تضمین می‌کند که کاربران فقط مقادیر صحیح معتبر را در اکسل وارد کنند، که این برای فیلدهای تعداد، ورودی‌های سن یا ورق‌های بودجه که اعشاری یا متن قابل قبول نیستند، ایده‌آل است.

بیایید بگوییم شما می‌خواهید یک سلول را محدود کنید تا فقط اعداد بین ۱ و ۱۰۰ را قبول کند. بدون این قاعده، کاربران ممکن است به‌طور تصادفی ورودی‌های نامعتبر مانند ۱۵۰ یا 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;

// محدوده معتبر را تعریف کنید: ۱ تا ۱۰۰
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# به عددهای صحیح محدود کنید

محدود کردن به اعداد صحیح در اکسل با استفاده از C#

تاریخ اعتبارسنجی محدوده را در اکسل با استفاده از C# اعمال کنید

تأیید تاریخ به شما کمک می‌کند تا اطمینان حاصل کنید که کاربران فقط تاریخ‌های معتبر وارد می‌کنند. این موضوع در ابزارهای برنامه‌ریزی، سوابق حضور، برگه‌های رزرو و هر سناریویی که در آن به تاریخ‌ها در یک دامنه خاص نیاز دارید، مفید است.

به عنوان مثال، تصور کنید که شما در حال ساخت یک الگوی زمان‌بندی پروژه هستید و می‌خواهید کاربران را محدود کنید تا فقط تاریخ‌هایی را در سال ۲۰۲۴ وارد کنند. اجازه دادن به کاربران برای وارد کردن تاریخ خارج از این محدوده (مانند ۲۰۲۳ یا ۲۰۲۵) می‌تواند فرمول‌ها را خراب کند یا سوابق ناهماهنگی ایجاد کند.

Aspose.Cells برای .NET این امکان را فراهم می‌کند که اعتبارسنجی‌های تاریخ را به سلول‌های خاصی اعمال کنید، بنابراین کاربران فقط می‌توانند تاریخ‌هایی را وارد کنند که با معیارهای شما مطابقت دارند.

کد زیر نشان می‌دهد که چگونه می‌توان اطمینان حاصل کرد که کاربران فقط می‌توانند تاریخ‌هایی بین ۱ ژانویه ۲۰۲۴ و ۳۱ دسامبر ۲۰۲۴ وارد کنند. هر چیزی خارج از این محدوده یک خطا را ایجاد می‌کند و به شما کمک می‌کند داده‌های تمیزتر و دقیق‌تری در سراسر صفحه‌گسترده خود حفظ کنید.

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;

// محدوده تاریخ معتبر را مشخص کنید: ۱ ژانویه ۲۰۲۴ تا ۳۱ دسامبر ۲۰۲۴
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#

گاهی اوقات، منوهای کشویی ساده یا محدوده‌های تعداد ثابت کافی نیستند، به خصوص زمانی که قوانین شما به مقادیر در سایر سلول‌ها بستگی دارد. با اعتبارسنجی مبتنی بر فرمول، می‌توانید قوانین سفارشی را با استفاده از فرمول‌های مشابه اکسل تعریف کنید. این قوانین می‌توانند به سایر سلول‌ها ارجاع دهند و به طور دینامیک ارزیابی کنند که آیا ورودی معتبر است یا خیر. به عنوان مثال، شما ممکن است بخواهید مطمئن شوید که مقدار در سلول B1 همیشه بزرگتر از مقدار در A1 است. این یک سناریوی رایج در مقایسه قیمت‌ها، برگه‌های امتیازدهی، یا دنباله‌های تاریخی است.

Aspose.Cells برای .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");

پیام‌های ورودی و خطا را در اکسل با استفاده از C# پیکربندی کنید.

اعمال اعتبارسنجی داده تنها بخشی از راه حل است. راهنمایی کاربران زمانی که داده‌های نادرستی وارد می‌کنند به همان اندازه مهم است و اینجاست که هشدارها و پیام‌های سفارشی نقش کلیدی دارند.

Aspose.Cells برای .NET به شما این امکان را می‌دهد که پیام‌های ورودی مفید و هشدارهای خطا را تنظیم کنید که هنگام انتخاب یک سلول یا وارد کردن داده‌های نامعتبر ظاهر می‌شوند. این پیام‌ها تجربه کاربری را بهبود می‌بخشند، سردرگمی را کاهش می‌دهند و الگوهای اکسل شما را حرفه‌ای‌تر می‌کنند.

برای مثال، هنگامی که یک کاربر بر روی یک سلول کلیک می‌کند، می‌توانید یک راهنمای ابزار مانند نشان دهید

`فقط مقادیر از ۱ تا ۱۰۰ مجاز هستند.”

و اگر آن‌ها یک مقدار نادرست وارد کنند، اکسل می‌تواند یک کادر گفت‌وگو نمایش دهد که می‌گوید:

`ورودی نامعتبر: لطفاً یک عدد بین ۱ و ۱۰۰ وارد کنید.”

شما همچنین می‌توانید نحوهٔ پاسخگویی 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# پیکربندی کنید.

پیغام‌های ورودی و خطا را در اکسل با استفاده از C# پیکربندی کنید

رایگان امتحان کن

گرفتن یک مجوز موقت رایگان برای آزمایش قابلیت‌های کامل Aspose.Cells برای .NET بدون هیچ گونه محدودیتی در ویژگی‌ها.

منابع رایگان

بیشتر در مورد اتوماسیون و اعتبارسنجی اکسل با استفاده از این منابع کاوش کنید:

نتیجه گیری

در این مقاله، ما نشان دادیم که چگونه می‌توان اعتبارسنجی داده‌ها را در اکسل با استفاده از C# و Aspose.Cells برای .NET پیاده‌سازی کرد. از فهرست‌های کشویی تا فرمول‌های سفارشی، می‌توانید صفحات گسترده هوشمند و بدون خطا بسازید بدون اینکه به خود اکسل وابسته باشید.

اگر سوال یا نظری دارید، لطفاً با کمال میل آن را در فرم پشتیبانی رایگان ما ارسال کنید. ما دوست داریم کمک کنیم!

همچنین ببینید