Проверка того, что значение ячейки удовлетворяет правилам валидации данных
Microsoft Excel позволяет пользователям добавлять правила валидации данных для ячеек. Например, валидация десятичных чисел указывает, что можно вводить только числа в диапазоне от 10 до 20. Если пользователь вводит другое число, Microsoft Excel показывает сообщение об ошибке и предлагает ввести число в правильном диапазоне. Если вы копируете и вставляете число, скажем, 3, в ячейку, Excel не выполняет проверку валидации и не показывает сообщение об ошибке.
Иногда необходимо программно проверить, удовлетворяет ли значение правилам валидации данных, примененным к ячейке. В приведенном выше случае, например, ввод должен завершиться неудачей.
Введение
Aspose.Cells для Python via .NET предоставляет метод Cell.get_validation_value() для программной проверки значений ячеек. Если значение в ячейке не соответствует правилу валидации данных, он возвращает False, в противном случае True.
В следующем образце кода иллюстрируется работа метода Cell.get_validation_value(). Сначала он вводит значение 3 в C1. Поскольку это значение не удовлетворяет правилу валидации данных, метод Cell.get_validation_value() возвращает False. Затем вводится значение 15 в C1. Поскольку это значение удовлетворяет правилу валидации данных, метод Cell.get_validation_value() возвращает True. Аналогично для значения 30 он возвращает False.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Instantiate the workbook from sample Excel file | |
workbook = Workbook("sample.xlsx") | |
# Access the first 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 = worksheet.cells.get("C1") | |
# Enter 3 inside this cell | |
# Since it is not between 10 and 20, it should fail the validation | |
cell.put_value(3) | |
# Check if number 3 satisfies the Data Validation rule applied on this cell | |
print("Is 3 a Valid Value for this Cell: " + str(cell.get_validation_value())) | |
# Enter 15 inside this cell | |
# Since it is between 10 and 20, it should succeed the validation | |
cell.put_value(15) | |
# Check if number 15 satisfies the Data Validation rule applied on this cell | |
print("Is 15 a Valid Value for this Cell: " + str(cell.get_validation_value())) | |
# Enter 30 inside this cell | |
# Since it is not between 10 and 20, it should fail the validation again | |
cell.put_value(30) | |
# Check if number 30 satisfies the Data Validation rule applied on this cell | |
print("Is 30 a Valid Value for this Cell: " + str(cell.get_validation_value())) |
Вывод
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