私はEPPlusを計算サーバーとして使用しています。私のコードは次のとおりです:EPPlusのValidateメソッドはどのように機能しますか?
Validate()メソッドは無効なデータの例外をスローしました。それはしません。 私の質問:Validate()メソッドの使い方は?依存するであろう
私はEPPlusを計算サーバーとして使用しています。私のコードは次のとおりです:EPPlusのValidateメソッドはどのように機能しますか?
Validate()メソッドは無効なデータの例外をスローしました。それはしません。 私の質問:Validate()メソッドの使い方は?依存するであろう
どのセルの内容とバリデータのオペレータの設定:
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>
から派生:
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.notBetween
とForumla2
が設定されていないときに例外がスローされます(主Formula
と混同しないでください)。つまり、2つの値/式を比較する演算を使用しているときに、1つだけが設定されている場合は、バリデータが無効であるとみなされます。
ありがとうございます、それで、セルの内容を検証しませんか?コンテンツの検証は手動で行う必要がありますか? –
@AlirezaAhmadiRadデザイン時には、その関数はバリデータ自体の定義だけでは内容を検証しません。ユーザーがExcelファイルを開いてコンテンツを追加すると、検証によって入力が確認されます。コードのセル値を検証する限り、私はEPPlusが能力を持っているとは思っていませんが、開発者はそれを処理すると期待しています。 – Ernie