Verificare che il valore della cella soddisfi le regole di convalida dei dati
Microsoft Excel consente agli utenti di aggiungere regole di convalida dei dati alle celle. Ad esempio, una convalida decimale specifica che possono essere inseriti solo numeri compresi tra 10 e 20. Se un utente inserisce un numero diverso, Microsoft Excel visualizza un messaggio di errore e chiede loro di inserire un numero nell’intervallo corretto. Se si copia e incolla un numero, ad esempio 3, nella cella, Excel non esegue un controllo di convalida o 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 fornisce il metodo Cell.GetValidationValue() per convalidare i valori delle celle in modo programmatico. Se il valore in una cella non soddisfa la regola di convalida dei dati applicata a quella cella, restituisce Falso, altrimenti Vero.
Il seguente codice di esempio illustra il funzionamento del metodo Cell.GetValidationValue(). Prima, inserisce il valore 3 in C1. Poiché ciò non soddisfa la regola di convalida dei dati, il metodo Cell.GetValidationValue() restituisce Falso. Poi, inserisce il valore 15 in C1. Poiché questo valore soddisfa la regola di convalida dei dati, il metodo Cell.GetValidationValue() restituisce Vero. Allo stesso modo, restituisce Falso per il valore 30.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate the workbook from sample Excel file | |
Workbook workbook = new Workbook(dataDir+ "sample.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Access Cell C1 | |
// Cell C1 has the Decimal Validation applied on it. | |
// It can take only the values Between 10 and 20 | |
Cell cell = worksheet.Cells["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.WriteLine("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.WriteLine("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.WriteLine("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