/// <summary>
        /// Allow date values.
        /// </summary>
        /// <param name="DataOperator">The type of operation.</param>
        /// <param name="DataValue">The data value. Any valid date formatted value is fine. It is suggested to just copy the value you have in Excel interface.</param>
        /// <param name="IgnoreBlank">True if blanks are ignored. False otherwise.</param>
        public void AllowDate(SLDataValidationSingleOperandValues DataOperator, string DataValue, bool IgnoreBlank)
        {
            this.Type     = DataValidationValues.Date;
            this.Operator = this.TranslateOperatorValues(DataOperator);

            DateTime dt;

            if (DataValue.StartsWith("="))
            {
                this.Formula1 = DataValue.Substring(1);
            }
            else
            {
                if (DateTime.TryParse(DataValue, out dt))
                {
                    this.Formula1 = SLTool.CalculateDaysFromEpoch(dt, this.Date1904).ToString(CultureInfo.InvariantCulture);
                }
                else
                {
                    // 1 Jan 1900
                    this.Formula1 = "1";
                }
            }

            this.Formula2   = string.Empty;
            this.AllowBlank = IgnoreBlank;
        }
 /// <summary>
 /// Allow date values.
 /// </summary>
 /// <param name="DataOperator">The type of operation.</param>
 /// <param name="DataValue">The data value. Any valid date formatted value is fine. It is suggested to just copy the value you have in Excel interface.</param>
 /// <param name="IgnoreBlank">True if blanks are ignored. False otherwise.</param>
 public void AllowDate(SLDataValidationSingleOperandValues DataOperator, DateTime DataValue, bool IgnoreBlank)
 {
     this.Type       = DataValidationValues.Date;
     this.Operator   = this.TranslateOperatorValues(DataOperator);
     this.Formula1   = SLTool.CalculateDaysFromEpoch(DataValue, this.Date1904).ToString(CultureInfo.InvariantCulture);
     this.Formula2   = string.Empty;
     this.AllowBlank = IgnoreBlank;
 }
 /// <summary>
 /// Allow date values.
 /// </summary>
 /// <param name="IsBetween">True if the data is between 2 values. False otherwise.</param>
 /// <param name="Minimum">The minimum value.</param>
 /// <param name="Maximum">The maximum value.</param>
 /// <param name="IgnoreBlank">True if blanks are ignored. False otherwise.</param>
 public void AllowDate(bool IsBetween, DateTime Minimum, DateTime Maximum, bool IgnoreBlank)
 {
     this.Type       = DataValidationValues.Date;
     this.Operator   = IsBetween ? DataValidationOperatorValues.Between : DataValidationOperatorValues.NotBetween;
     this.Formula1   = SLTool.CalculateDaysFromEpoch(Minimum, this.Date1904).ToString(CultureInfo.InvariantCulture);
     this.Formula2   = SLTool.CalculateDaysFromEpoch(Maximum, this.Date1904).ToString(CultureInfo.InvariantCulture);
     this.AllowBlank = IgnoreBlank;
 }
        /// <summary>
        /// Allow date values.
        /// </summary>
        /// <param name="IsBetween">True if the data is between 2 values. False otherwise.</param>
        /// <param name="Minimum">The minimum value. Any valid date formatted value is fine. It is suggested to just copy the value you have in Excel interface.</param>
        /// <param name="Maximum">The maximum value. Any valid date formatted value is fine. It is suggested to just copy the value you have in Excel interface.</param>
        /// <param name="IgnoreBlank">True if blanks are ignored. False otherwise.</param>
        public void AllowDate(bool IsBetween, string Minimum, string Maximum, bool IgnoreBlank)
        {
            this.Type     = DataValidationValues.Date;
            this.Operator = IsBetween ? DataValidationOperatorValues.Between : DataValidationOperatorValues.NotBetween;

            DateTime dt;

            if (Minimum.StartsWith("="))
            {
                this.Formula1 = Minimum.Substring(1);
            }
            else
            {
                if (DateTime.TryParse(Minimum, out dt))
                {
                    this.Formula1 = SLTool.CalculateDaysFromEpoch(dt, this.Date1904).ToString(CultureInfo.InvariantCulture);
                }
                else
                {
                    // 1 Jan 1900
                    this.Formula1 = "1";
                }
            }

            if (Maximum.StartsWith("="))
            {
                this.Formula2 = Maximum.Substring(1);
            }
            else
            {
                if (DateTime.TryParse(Maximum, out dt))
                {
                    this.Formula2 = SLTool.CalculateDaysFromEpoch(dt, this.Date1904).ToString(CultureInfo.InvariantCulture);
                }
                else
                {
                    // 1 Jan 1900
                    this.Formula2 = "1";
                }
            }

            this.AllowBlank = IgnoreBlank;
        }