Убедитесь, что значение Cell удовлетворяет правилам проверки данных.
Убедитесь, что значение Cell удовлетворяет правилам проверки данных.
Иногда необходимо динамически проверять, удовлетворяет ли заданное значение правилам проверки данных, применяемым к ячейке. Для этой цели API Aspose.Cells предоставляютячейка.getValidationValue метод. Если значение в ячейке не удовлетворяет правилу проверки данных, примененному к этой ячейке, возвращаетсяЛОЖЬ , ещеИстинный.
Следующий пример файла Excel Microsoft используется с приведенным ниже образцом кода для проверкиячейка.getValidationValue метод. Как видно на снимке, клеткиС1 имеетпроверка десятичных данных применяется и будет принимать только значениямежду 10 и 20 . Всякий раз, когда значение ячейки находится между 10 и 20,ячейка.getValidationValue метод вернетИстинный , иначе вернетсяЛОЖЬ.
В следующем примере кода показано, какячейка.getValidationValue метод работает. Сначала он вводит значение 3 в C1. Поскольку это не удовлетворяет правилу проверки данных,ячейка.getValidationValue метод возвращаетЛОЖЬ . Затем он вводит значение 15 в C1. Поскольку это значение удовлетворяет правилу проверки данных,ячейка.getValidationValue метод возвращаетИстинный . Точно так же возвращаетсяЛОЖЬ на значение 30.
Код Java для проверки соответствия значения Cell правилам проверки данных
// 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