IValidationインタフェースの Addメソッドを使用して、スプレッドシートの個別のセルまたはセル範囲にデータ検証を適用できます。1 つのセルは 1 つの検証ルールのみを持ちます。検証ルールが既にあるセルに検証を適用しようとすると、例外が生成されます。
範囲の検証ルールインスタンスは、IRangeインタフェースのValidationプロパティを使用して表されます。セル範囲に既に検証ルールが含まれるかどうかを調べる場合は、IRange インタフェースの HasValidationプロパティを使用します。範囲内のすべてのセルに同じ検証ルールが適用されている場合は、IRange インタフェースのValidationIsSameプロパティで表されます。
以下に、DioDocs for Excel で実装できるデータ検証操作をリストします。
ワークシートに整数検証を適用することで、セルまたはセル範囲に一定の整数のみが追加されるようにすることができます。
整数検証を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//整数の検証を追加します worksheet.Range["A1:A3"].Validation.Add(ValidationType.Whole, ValidationAlertStyle.Stop, ValidationOperator.Between, 1, 8); IValidation validation = worksheet.Range["A1:A3"].Validation; validation.IgnoreBlank = true; validation.InputTitle = "Tips"; validation.InputMessage = "Input a value between 1 and 8, please"; validation.ErrorTitle = "Error"; validation.ErrorMessage = "input value does not between 1 and 8"; validation.ShowInputMessage = true; validation.ShowError = true; |
ワークシートに小数検証を適用することで、セルまたはセル範囲に一定の小数のみが追加されるようにすることができます。
小数検証を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//小数検証を追加します worksheet.Range["B1:B3"].Validation.Add(ValidationType.Decimal, ValidationAlertStyle.Stop, ValidationOperator.Between, 3.4, 102.8); |
ワークシートにリスト検証を適用することで、セルまたはセル範囲に挿入されたリストを検証できます。
リスト検証を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//リスト検証を追加します worksheet.Range["C4"].Value = "aaa"; worksheet.Range["C5"].Value = "bbb"; worksheet.Range["C6"].Value = "ccc"; //セル参照を使用します worksheet.Range["C1:C3"].Validation.Add(ValidationType.List, ValidationAlertStyle.Stop, ValidationOperator.Between, "=c4:c6"); //または、文字列を使用します //this._worksheet.Range["C2:E4"].Validation.Add(ValidationType.List, ValidationAlertStyle.Stop, ValidationOperator.Between, "aaa, bbb, ccc"); //リストドロップダウンを表示します IValidation dvalidation = worksheet.Range["C1:C3"].Validation; dvalidation.InCellDropdown = true; |
ワークシートに日付検証を適用することで、セルまたはセル範囲に日付形式で入力されたデータを検証できます。
日付検証を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//日付検証を追加します worksheet.Range["D1:D3"].Validation.Add(ValidationType.Date, ValidationAlertStyle.Stop, ValidationOperator.Between, new DateTime(2015, 12, 13), new DateTime(2015, 12, 18)); |
ワークシートに時間検証を適用することで、セルまたはセル範囲に入力された時刻を検証できます。
時間検証を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//時間検証を追加します worksheet.Range["E1:E3"].Validation.Add(ValidationType.Time, ValidationAlertStyle.Stop, ValidationOperator.Between, new TimeSpan(13, 30, 0), new TimeSpan(18, 30, 0)); |
ワークシートにテキスト長さ検証を適用することで、セルまたはセル範囲に入力されたテキストの長さを検証できます。
テキスト長さ検証を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//テキスト長さ検証を追加します worksheet.Range["C2:E4"].Validation.Add(ValidationType.TextLength, ValidationAlertStyle.Stop, ValidationOperator.Between, 2, 3); |
カスタム検証を適用することで、ワークシート内のデータを検証するカスタム検証ルールを追加できます。
カスタム検証を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//カスタム検証を追加します worksheet.Range["A2"].Value = 1; worksheet.Range["A3"].Value = 2; worksheet.Range["C2"].Value = 1; //カスタム検証を使用する場合、validationOperatorとformula2パラメータは指定しても無視されます worksheet.Range["A2:A3"].Validation.Add(ValidationType.Custom, ValidationAlertStyle.Information, formula1: "=C2"); |