Проверка того, что значение ячейки удовлетворяет правилам валидации данных

Проверьте, что значение ячейки удовлетворяет правилам проверки данных

Иногда необходимо динамически проверить, удовлетворяет ли заданное значение правилам проверки данных, примененным к ячейке. Для этой цели API Aspose.Cells предоставляет метод cell.getValidationValue(). Если значение в ячейке не удовлетворяет правилу проверки данных, примененному к этой ячейке, он возвращает False, иначе True.

В следующем образце кода используется существующий в Excel файл, показанный на снимке экрана, метод cell.getValidationValue(). Как видно на снимке экрана, ячейка C1 имеет примененную десятичную проверку и примет только значения от 10 до 20. Когда значение ячейки находится между 10 и 20, метод cell.getValidationValue() вернет True, в противном случае он вернет False.

todo:image_alt_text

Ниже показан образец кода, иллюстрирующий работу метода cell.getValidationValue(). Сначала он вводит значение 3 в C1. Поскольку это не удовлетворяет правилам проверки данных, метод cell.getValidationValue() возвращает False. Затем он вводит значение 15 в C1. Поскольку это значение удовлетворяет правилам проверки данных, метод cell.getValidationValue() возвращает True. Точно так же он возвращает False для значения 30.

Java-код для проверки, удовлетворяет ли значение ячейки правилам проверки данных

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

Консольный вывод, сгенерированный образцовым кодом

Здесь показан вывод консоли, созданный при выполнении примерного кода с примерным файлом Excel, показанным выше.

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