التحقق من أن قيمة الخلية تفي بقواعد التحقق من البيانات باستخدام C++

مقدمة

يوفر Aspose.Cells طريقة Cell.GetValidationValue() للتحقق من صحة قيم الخلايا برمجياً. إذا كانت قيمة خلية لا تفي بقواعد التحقق من البيانات المطبقة على تلك الخلية، فإنه يرجع False، وإلا يرجع True.

يبرز رمز العينة التالي كيفية عمل طريقة Cell.GetValidationValue(). أولاً، يضع القيمة 3 في C1. نظرًا لأن هذه القيمة لا تفي بقواعد التحقق من البيانات، فإن طريقة Cell.GetValidationValue() تُرجع False. ثم يُدخل القيمة 15 في C1. نظرًا لأن هذه القيمة تفي بقواعد التحقق من البيانات، فإن الطريقة تُرجع True. وبالمثل، ترجع False للقيمة 30.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Instantiate the workbook from sample Excel file
    Workbook workbook(srcDir + u"sample.xlsx");

    // Access the first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(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.GetCells().Get(u"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
    std::cout << "Is 3 a Valid Value for this Cell: " << cell.GetValidationValue() << std::endl;

    // 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
    std::cout << "Is 15 a Valid Value for this Cell: " << cell.GetValidationValue() << std::endl;

    // 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
    std::cout << "Is 30 a Valid Value for this Cell: " << cell.GetValidationValue() << std::endl;

    Aspose::Cells::Cleanup();
}

الناتج

Is 3 a Valid Value for this Cell: False

Is 15 a Valid Value for this Cell: True

Is 30 a Valid Value for this Cell: False