closedxml - ClosedXML 中的时间格式验证

标签 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";

最佳答案

DataValidation.Time.EqualOrGreaterThan(new TimeSpan(0, 0, 0)); 中的 Time 的 EqualOrGreaterThan 方法可能没有 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";

关于closedxml - ClosedXML 中的时间格式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57626907/

相关文章:

c# - 如何使用 ClosedXML (C#) 在 Excel 中处理打开的工作簿?

powershell - 需要在 PowerShell 脚本中使用 ClosedXML 设置单元格背景颜色

linq - OpenXML linq 查询

asp.net - 向现有 Excel 表添加新行时,图表不会更新(必须使用命名范围)

c# - 如何在 Web API 的响应中附加文件

image - ClosedXML 添加图片

c# - 查找列中包含数据的最后一个单元格

azure - Azure 上的自定义 FileResult : Browser Waits forever

c# - 将 excel 单元格格式保留为包含 "date like"数据的文本