Bekräfta att cellvärdet uppfyller datavalideringsreglerna

Verifiera att cellvärdet uppfyller datavalideringsregler

Ibland är det nödvändigt att dynamiskt verifiera om ett angivet värde uppfyller de datavalideringsregler som tillämpats på cellen. För detta ändamål tillhandahåller Aspose.Cells API:erna cell.getValidationValue() metoden. Om värdet i en cell inte uppfyller de datavalideringsregler som tillämpats på den cellen, returnerar den Falskt, annars Sant.

Den följande prov Microsoft Excel-filen används med den provkoden nedan för att testa cell.getValidationValue() metoden. Som du kan se i ögonblicksbilden har cellerna C1 decimal datavalidering tillämpad och kommer endast att acceptera värden mellan 10 och 20. När värdet på cellen är mellan 10 och 20, kommer cell.getValidationValue() metoden att returnera Sant, annars kommer den att returnera Falskt.

todo:image_alt_text

Den följande provkoden illustrerar hur cell.getValidationValue() metoden fungerar. Först matar den in värdet 3 i C1. Därför att detta inte uppfyller datavalideringsregeln, returnerar cell.getValidationValue() metoden Falskt. Sedan matar den in värdet 15 i C1. Eftersom detta värde uppfyller datavalideringsregeln, returnerar cell.getValidationValue() metoden Sant. På samma sätt returnerar den Falskt för värdet 30.

Java-kod för att verifiera om ett cellvärde uppfyller datavalideringsregler

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(VerifyCellValueSatisfiesDataValidationRules.class);
// Instantiate the workbook from sample Excel file
Workbook workbook = new Workbook(dataDir + "Sample1.xlsx");
// Access the first worksheet
Worksheet 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
*/
Cell 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
System.out.println("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
System.out.println("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
System.out.println("Is 30 a Valid Value for this Cell: " + cell.getValidationValue());

Konsolutdata som genereras av exempelkoden

Här är konsoloutputen som genereras när provkoden körs med den prov Excel-filen som visas ovan.

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