EasyXLS

How to add cell validation in C++.NET

/*------------------------------------------------------------------
 | Tutorial 13
 |
 | This tutorial shows how to create an Excel file in C++.NET having
 | multiple sheets. The second sheet contains a named area range.
 | The A1:A10 cell range contains data validators, drop down list
 | and whole number validation.
 -----------------------------------------------------------------*/

using namespace System;
using namespace EasyXLS;
using namespace EasyXLS::Constants;

int main()
{
    Console::WriteLine("Tutorial 13\n----------\n");

    // Create an instance of the class that exports Excel files, having two sheets
    ExcelDocument ^workbook = gcnew ExcelDocument(2);

    // Set the sheet names
    workbook->easy_getSheetAt(0)->setSheetName("First tab");
    workbook->easy_getSheetAt(1)->setSheetName("Second tab");

    // Get the table of data for the second worksheet and populate the worksheet
    ExcelWorksheet ^xlsSecondTab = safe_cast<ExcelWorksheet^>(workbook->easy_getSheetAt(1));
    ExcelTable ^xlsSecondTable = xlsSecondTab->easy_getExcelTable();
    xlsSecondTable->easy_getCell("A1")->setValue("Range data 1");
    xlsSecondTable->easy_getCell("A2")->setValue("Range data 2");
    xlsSecondTable->easy_getCell("A3")->setValue("Range data 3");
    xlsSecondTable->easy_getCell("A4")->setValue("Range data 4");

    // Create a named area range
    xlsSecondTab->easy_addName("Range", "=Second tab!$A$1:$A$4");

    // Add data validation as drop down list type
    ExcelWorksheet ^xlsFirstTab = safe_cast<ExcelWorksheet^>(workbook->easy_getSheetAt(0));
    xlsFirstTab->easy_addDataValidator("A1:A10", DataValidator::VALIDATE_LIST, 
        DataValidator::OPERATOR_EQUAL_TO, "=Range", "");

    // Add data validation as whole number type
    xlsFirstTab->easy_addDataValidator("B1:B10", DataValidator::VALIDATE_WHOLE_NUMBER, 
        DataValidator::OPERATOR_BETWEEN, "=4", "=100");

    // Export Excel file
    Console::WriteLine("Writing file C:\\Samples\\Tutorial13 - cell validation in Excel.xlsx.");
    workbook->easy_WriteXLSXFile("C:\\Samples\\Tutorial13 - cell validation in Excel.xlsx");

    // Confirm export of Excel file
    String ^sError = workbook->easy_getError();
    if (sError->Equals(""))
        Console::Write("\nFile successfully created. Press Enter to Exit...");
    else
        Console::Write(String::Concat("\nError encountered: ", sError, "\nPress Enter to Exit..."));

    // Dispose memory
    delete workbook;

    Console::ReadLine();

    return 0;
}


C++ without .NET Framework
This tutorial is valid for C++ applications that can use .NET Framework. For applications that does not have .NET Framework integrated, a similar code sample is available.

EasyXLS Excel libraries:

.NET
Excel Library for C++.NET
full .NET version to import, export or convert Excel files
Excel Writer for C++.NET
.NET version to create and export Excel files
Download EasyXLS™ Excel Library for C++.NET

File formats:

Office 365
MS Excel 2021 - 2024
MS Excel 2007 - 2019
MS Excel 97 - 2003
XLSXXLSMXLSBXLS
XMLHTMLCSVTXT