Cómo agregar la validación de datos a una hoja de espalda en C++

Cómo agregar la validación de datos a una hoja de espalda en C++

Aspose.Cells FOSS for C++ supports cell-level data validation rules that constrain what values users can enter in specific cells or ranges. The Validation, ValidationCollection,y, WorkbookValidator Las clases forman la API de validación.

Guía paso a paso

Paso 1: Instalar el edificio

cmake_minimum_required(VERSION 3.15)
project(DataValidation CXX)
set(CMAKE_CXX_STANDARD 17)

add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(DataValidation main.cpp)
target_link_libraries(DataValidation PRIVATE Aspose.Cells.Foss.Cpp)

Paso 2: Incluir los cabezas necesarios

#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/ValidationCollection.h"
#include "aspose/cells_foss/Validation.h"
#include "aspose/cells_foss/CellArea.h"

using namespace Aspose::Cells_FOSS;

Paso 3: Acceso a la colección de validación

Recuperar el ValidationCollection De la hoja de trabajo:

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];
    ValidationCollection& validations = sheet.GetValidations();
    return 0;
}

Paso 4: Agregar una regla de validación

llamadas ValidationCollection::Add() y configure el devuelto Validation Objetos :

int idx = validations.Add();
Validation& v = validations[idx];

v.SetType(ValidationType::WholeNumber);
v.SetFormula1("1");
v.SetFormula2("100");
v.SetIgnoreBlank(true);
v.SetInputTitle("Enter Quantity");
v.SetInputMessage("Enter a whole number between 1 and 100.");
v.SetErrorTitle("Invalid Input");
v.SetErrorMessage("Value must be between 1 and 100.");
v.SetShowInput(true);
v.SetShowError(true);
v.SetAlertStyle(ValidationAlertType::Stop);

Paso 5: Aplique la Regla a una Range

Añadir la validación a una CellArea Utilizando Validation::AddArea:

CellArea area = CellArea::CreateCellArea("B2", "B20");
v.AddArea(area);

Paso 6: Guardar el libro de trabajo

workbook.Save("validated.xlsx");
workbook.Dispose();

Paso 7: Ejecución de la validación pre-salvo (opcional)

llamadas WorkbookValidator::ValidateForSave Durante el desarrollo para capturar problemas de modelo antes de ahorrar:

WorkbookValidator validator;
validator.ValidateForSave(workbook);
workbook.Save("validated.xlsx");

Problemas y soluciones comunes

Validación no visible en archivo salvado Seguridad Validation::AddArea(area) Se llama después de configurar la regla. Una regra sin área asociada no se serializará.

Lista de descenso no muestra Sitio v.SetInCellDropDown(true) y SET v.SetType(ValidationType::List) con SetFormula1 Indicar un rango o valores separados por comma.

Áreas de validación superficiales Uso ValidationCollection::AreasOverlap para verificar los conflictos antes de agregar una nueva regla. las reglas sobrecargadas pueden producir comportamientos inesperados en Excel.

mensaje de entrada no aparece Aseguran los dos SetShowInput(true) y SetInputMessage("...") Una línea de mensaje vacía suprimirá el impulso de entrada incluso si SetShowInput(true) Se llama .

ValidateForSave Reportar errores Las causas comunes incluyen la falta de límites de fórmula para validaciones de tipo de rango y las coordenadas de área celular inadecuadas.

Preguntas frecuentes

¿Qué tipos de validación se apoyan?

El ValidationType La enumeración incluye: WholeNumber, Decimal, List, Date, TextLength, Custom,y, Any.

¿Puedo eliminar una regla de validación de un rango?

Sí, usamos ValidationCollection::RemoveArea(area) para eliminar la regla de una rama, o RemoveACell(row, col) para una sola célula.

¿Puedo aplicar la misma regla de validación a múltiples ramas?

Sí, llamado Validation::AddArea(area) múltiples veces en la misma Validation se aplica a las ramas adicionales.

¿Qué estilos de alerta están disponibles?

ValidationAlertType Incluye: Stop (Las entradas son inadecuadas), Warning (Avertir pero permite la entrada) y Information (Sólo la información de los medios).

¿La validación funciona en tiempo real o sólo en Excel?

Las reglas de validación de datos se almacenan en el archivo XLSX y se aplican por Excel o un lector compatible.La biblioteca no evalúa las restricciones de validacin en tiempo real cuando los valores se establecen programadamente.

Ver también

 Español