J'utilise EPPlus comme serveur de calculs. Voici mon code:Comment fonctionne la méthode Validate de EPPlus?
using (var xlp = new ExcelPackage(stream))
{
OfficeOpenXml.ExcelWorksheet Sheet = xlp.Workbook.Worksheets["sheet1"];
//Some code for feeding user data to excel sheet
//...
//We first invoke calculate method to let contraints of data validation get updated.
xlp.Workbook.Calculate();
var v = Sheet.DataValidations["A1"];
if (v != null)
{
switch (v.ValidationType.Type)
{
case OfficeOpenXml.DataValidation.eDataValidationType.DateTime:
OfficeOpenXml.DataValidation.ExcelDataValidationDateTime V1 = (OfficeOpenXml.DataValidation.ExcelDataValidationDateTime)v;
try
{
//this line doesn't do any thing
V1.Validate();
}
catch
{
}
break;
case ...
}
}
}
J'avais lu quelque part que la méthode validate() émet une exception pour les données non valides. Ce n'est pas le cas. Ma question: Comment utiliser la méthode Validate()?
Merci, Alors, cela ne valide-t-il pas le contenu de la cellule? la validation du contenu doit être effectuée manuellement? –
@AlirezaAhmadiRad Au moment du design, non, cette fonction ne valide pas le contenu juste la définition du validateur lui-même. Lorsque l'utilisateur ouvre le fichier Excel et ajoute du contenu, la validation vérifie son entrée. En ce qui concerne la validation de la valeur de la cellule dans le code, je ne crois pas qu'EPPlus ait la capacité, je présume, de s'attendre à ce que le développeur le gère. – Ernie