2017-04-01 42 views

答えて

1

どのセルの内容とバリデータのオペレータの設定:

http://epplus.codeplex.com/SourceControl/latest#EPPlus/DataValidation/ExcelDataValidationOperator.cs

/// <summary> 
/// Operator for comparison between Formula and Formula2 in a validation. 
/// </summary> 
public enum ExcelDataValidationOperator 
{ 
    any, 
    equal, 
    notEqual, 
    lessThan, 
    lessThanOrEqual, 
    greaterThan, 
    greaterThanOrEqual, 
    between, 
    notBetween 
} 

ExcelDataValidationDateTime(最終的に)Validate()のimplemenationが含まれていExcelDataValidationWithFormula<IExcelDataValidationFormulaDateTime>から派生:

http://epplus.codeplex.com/SourceControl/latest#EPPlus/DataValidation/ExcelDataValidationWithFormula.cs

public override void Validate() 
{ 
    base.Validate(); 
    if (Operator == ExcelDataValidationOperator.between || Operator == ExcelDataValidationOperator.notBetween) 
    { 
     if (string.IsNullOrEmpty(Formula2Internal)) 
     { 
      throw new InvalidOperationException("Validation of " + Address.Address + " failed: Formula2 must be set if operator is 'between' or 'notBetween'"); 
     } 
    } 
} 

だから、(無効)検証操作のどちらかExcelDataValidationOperator.betweenまたはExcelDataValidationOperator.notBetweenForumla2が設定されていないときに例外がスローされます(主Formulaと混同しないでください)。つまり、2つの値/式を比較する演算を使用しているときに、1つだけが設定されている場合は、バリデータが無効であるとみなされます。

+0

ありがとうございます、それで、セルの内容を検証しませんか?コンテンツの検証は手動で行う必要がありますか? –

+0

@AlirezaAhmadiRadデザイン時には、その関数はバリデータ自体の定義だけでは内容を検証しません。ユーザーがExcelファイルを開いてコンテンツを追加すると、検証によって入力が確認されます。コードのセル値を検証する限り、私はEPPlusが能力を持っているとは思っていませんが、開発者はそれを処理すると期待しています。 – Ernie

関連する問題