Убедитесь, что значение Cell удовлетворяет правилам проверки данных.
Microsoft Excel позволяет пользователям добавлять в ячейки правила проверки данных. Например, десятичная проверка указывает, что можно вводить только числа от 10 до 20. Если пользователь вводит другой номер. Microsoft Excel показывает сообщение об ошибке и предлагает ввести число в правильном диапазоне. Если вы скопируете и вставите число, например 3, в ячейку, Excel не запустит проверку и не покажет сообщение об ошибке.
Иногда необходимо проверить, удовлетворяет ли значение правилам проверки данных, применяемым к ячейке программно. Например, в приведенном выше случае запись должна завершиться ошибкой.
Вступление
Aspose.Cells обеспечиваетCell.GetValidationValue() метод для проверки значений ячеек программно. Если значение в ячейке не удовлетворяет правилу проверки данных, примененному к этой ячейке, возвращаетсяЛОЖЬ , ещеИстинный.
В следующем примере кода показано, какCell.GetValidationValue() метод работает. Сначала он вводит значение 3 в C1. Поскольку это не удовлетворяет правилу проверки данных,Cell.GetValidationValue() метод возвращаетЛОЖЬ . Затем он вводит значение 15 в C1. Поскольку это значение удовлетворяет правилу проверки данных,Cell.GetValidationValue() метод возвращаетИстинный . Точно так же возвращаетсяЛОЖЬ на значение 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()); |
Вывод
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