我正在使用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";
答案 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";