C# 从VB.Net将日期验证应用于Excel单元格

C# 从VB.Net将日期验证应用于Excel单元格,c#,asp.net,vb.net,excel,C#,Asp.net,Vb.net,Excel,我正在从VB.NET将日期验证应用于excel单元格(范围) Private Sub DateValidExcelRule(ByVal worksheet As SpreadsheetGear.IWorksheet, ByVal DateRange As String) Dim dt As Date = CDate("1/1/1900") worksheet.Range(DateRange).Validation.Delete() worksheet.Range(Da

我正在从VB.NET将日期验证应用于excel单元格(范围)

 Private Sub DateValidExcelRule(ByVal worksheet As SpreadsheetGear.IWorksheet, ByVal DateRange As String)

    Dim dt As Date = CDate("1/1/1900")
    worksheet.Range(DateRange).Validation.Delete()
    worksheet.Range(DateRange).Validation.Add(ValidationType.Date, ValidationAlertStyle.Stop, ValidationOperator.Greater, dt, Nothing)
    worksheet.Range(DateRange).NumberFormat = "mm/dd/yyyy"
    worksheet.Range(DateRange).Validation.IgnoreBlank = True
    worksheet.Range(DateRange).Validation.InputTitle = "Excel Validation"
    worksheet.Range(DateRange).Validation.ErrorTitle = "Error in Date"
    worksheet.Range(DateRange).Validation.InputMessage = "Note: only date values here"
    worksheet.Range(DateRange).Validation.ErrorMessage = "Enter valid Date"
    worksheet.Range(DateRange).Validation.ShowInputMessage = True
    worksheet.Range(DateRange).Validation.ShowError = True

End Sub
问题:

当我输入4位整数
7777
时,它正在验证是否正确显示消息
输入有效日期
,但当我输入5位数字
77777
时,它正在接受该值并将其转换为
12/10/2112
值,并且不显示任何错误消息

在这里,我要做的就是将单元格值验证为任何日期格式
mm/dd/yyyy


请让我知道,我的方法是否正确?

Excel将日期存储为序列日期(自1900年1月0日起的天数),因此如果您花费77777天并将其添加到该日期,则会获得一个有效日期。2112年10月12日

我不知道如何,甚至不知道你是否能完成你想要的,强迫输入在excel中以特定的格式。(不使用日期控件)但这至少是原因所在

以下是我发现的几个链接,它们对excel中的日期/时间非常有用


Excel将日期存储为序列日期(自1900年1月0日起的天数),因此,如果您花费77777天并将其添加到该日期,则会获得一个有效日期。2112年10月12日

我不知道如何,甚至不知道你是否能完成你想要的,强迫输入在excel中以特定的格式。(不使用日期控件)但这至少是原因所在

以下是我发现的几个链接,它们对excel中的日期/时间非常有用