验证单元格值是否满足数据验证规则

Contents
[ ]

介绍

Aspose.Cells for Node.js via C++ 提供了 Cell.getValidationValue() 方法来以编程方式验证单元格值。如果单元格中的值不满足该单元格应用的数据验证规则,则返回 false,否则返回 true

以下示例代码演示了 Cell.getValidationValue() 方法的工作原理。首先,在 C1 输入值 3。因为这不满足数据验证规则,所以 Cell.getValidationValue() 方法返回 false。然后,在 C1 输入值 15。因为此值满足数据验证规则,所以该方法返回 true。类似地,对于值 30,也会返回 false

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());

输出

 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