Verificar que el valor de la celda cumple con las reglas de validación de datos

Introducción

Aspose.Cells for Node.js via C++ proporciona el método Cell.getValidationValue() para validar los valores de las celdas de forma programática. Si el valor en una celda no cumple con la regla de validación de datos aplicada, devuelve false, de lo contrario, true.

El siguiente código de ejemplo ilustra cómo funciona el método Cell.getValidationValue(). Primero, introduce el valor 3 en C1. Como esto no cumple con la regla de validación de datos, el método devuelve false. Luego, introduce el valor 15 en C1. Como este valor cumple con la regla, el método devuelve true. De manera similar, devuelve false para el valor 30.

const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiate the workbook from sample Excel file
const workbook = new AsposeCells.Workbook(dataDir + "sample.xlsx");
// Access the first worksheet
const 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
const cell = worksheet.getCells().get("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
console.log("Is 3 a Valid Value for this Cell: " + cell.getValidationValue());
// 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
console.log("Is 15 a Valid Value for this Cell: " + cell.getValidationValue());
// 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
console.log("Is 30 a Valid Value for this Cell: " + cell.getValidationValue());

Salida

 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