Verificare che il valore della cella soddisfi le regole di convalida dei dati
Microsoft Excel consente agli utenti di aggiungere regole di validazione dei dati alle celle. Ad esempio, una validazione decimale specifica che possono essere inseriti solo numeri tra 10 e 20. Se l’utente inserisce un numero diverso, Excel mostra un messaggio di errore e invita a inserire un numero nel range corretto. Se si copia e incolla un numero, per esempio 3, nella cella, Excel non esegue un controllo di validazione né mostra un messaggio di errore.
A volte è necessario verificare se un valore soddisfa le regole di convalida dei dati applicate alla cella in modo programmatico. Nel caso sopra, ad esempio, l’ingresso dovrebbe fallire.
Introduzione
Aspose.Cells for Node.js via C++ fornisce il metodo Cell.getValidationValue() per convalidare i valori delle celle programmaticamente. Se il valore in una cella non soddisfa la regola di validazione dei dati applicata a quella cella, restituisce false, altrimenti true.
Il seguente esempio di codice illustra come funziona il metodo Cell.getValidationValue(). Per prima cosa, inserisce il valore 3 in C1. Poiché questo non soddisfa la regola di validazione dei dati, il metodo Cell.getValidationValue() restituisce false. Quindi, inserisce il valore 15 in C1. Poiché questo valore soddisfa la regola di validazione dei dati, il metodo Cell.getValidationValue() restituisce true. Allo stesso modo, restituisce false per il valore 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()); |
Output
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