ClosedXML中的时间格式验证

时间:2019-08-23 13:03:33

标签: closedxml

我正在使用ClosedXMl创建Excel文件,并希望在输入“ HH:MM”以外的时间格式时设置警报消息。 我试过下面的代码,但输入“ 1”后,它也没有显示错误消息,但对于日期格式也可以正常工作。

       ws.Cell("D7").Style.NumberFormat.Format = "hh-mm";
       ws.Cell("D7").DataValidation.Time.EqualOrGreaterThan(new TimeSpan(0, 0, 0));
       ws.Cell("D7").SetDataValidation().ErrorStyle = XLErrorStyle.Stop;
       ws.Cell("D7").SetDataValidation().ErrorMessage = "Date Format HH MM";

适用于日期的代码(输入1后弹出警报消息)

      ws.Cell("T5").Style.NumberFormat.Format = "dd-mmm-yyyy";
      ws.Cell("T5").SetDataValidation().Date.EqualOrGreaterThan(new DateTime(2000, 1, 1));
      ws.Cell("T5").SetDataValidation().ErrorStyle = XLErrorStyle.Stop;
      ws.Cell("T5").SetDataValidation().ErrorMessage = "Date Format DD MMM YYYY";

1 个答案:

答案 0 :(得分:0)

DataValidation.Time.EqualOrGreaterThan(new TimeSpan(0, 0, 0));中,EqualOrGreaterThan方法的Time方法可能没有Time属性。但是,请尝试以下方法。

您可以做的一件事是,您可以将时间和日期一起放在日期验证中。

  ws.Cell("T5").Style.NumberFormat.Format = "dd-MM-yyyy HH:mm:ss";
  ws.Cell("T5").SetDataValidation().Date.EqualOrGreaterThan(new DateTime(2008, 5, 1, 8, 30, 52)); // first 
  ws.Cell("T5").SetDataValidation().ErrorStyle = XLErrorStyle.Stop;
  ws.Cell("T5").SetDataValidation().ErrorMessage = "Date Format DD MMM YYYY HH mm ss";