Ejemplo n.º 1
0
        public static bool?GetBooleanOrDefault(this IXLCell cell)
        {
            var rawValue = cell.GetStringOrDefault();

            if (string.IsNullOrEmpty(rawValue))
            {
                return(null);
            }

            switch (rawValue)
            {
            case "0":
                return(false);

            case "1":
                return(true);
            }

            if (bool.TryParse(rawValue, out var boolValue))
            {
                return(boolValue);
            }

            throw ValueException.ForInvalidValue <bool>(new DataSheetCell(cell));
        }
Ejemplo n.º 2
0
        public static string GetStringMandatory(this IXLCell cell)
        {
            var value = cell.GetStringOrDefault();

            if (value.Empty() || string.IsNullOrEmpty(value) || string.IsNullOrWhiteSpace(value))
            {
                ThrowValueExpectedException <string>(cell);
            }

            return(value);
        }
Ejemplo n.º 3
0
        public static Guid?GetGuidOrDefault(this IXLCell cell)
        {
            var rawValue = cell.GetStringOrDefault();

            if (string.IsNullOrEmpty(rawValue))
            {
                return(null);
            }

            if (Guid.TryParse(rawValue, out var guidValue))
            {
                return(guidValue);
            }

            throw ValueException.ForInvalidValue <Guid>(new DataSheetCell(cell));
        }
Ejemplo n.º 4
0
        public static long?GetLongOrDefault(this IXLCell cell)
        {
            var rawValue = cell.GetStringOrDefault();

            if (string.IsNullOrEmpty(rawValue))
            {
                return(null);
            }

            if (long.TryParse(rawValue, out var longValue))
            {
                return(longValue);
            }

            throw ValueException.ForInvalidValue <long>(new DataSheetCell(cell));
        }
Ejemplo n.º 5
0
        public static int?GetIntegerOrDefault(this IXLCell cell)
        {
            var rawValue = cell.GetStringOrDefault();

            if (string.IsNullOrEmpty(rawValue))
            {
                return(null);
            }

            if (int.TryParse(rawValue, out var integerValue))
            {
                return(integerValue);
            }

            throw ValueException.ForInvalidValue <int>(new DataSheetCell(cell));
        }
Ejemplo n.º 6
0
        public static string GetDisplayedValue(this IXLCell cell)
        {
            var decimalValue = GetDecimalOrDefault(cell);

            if (!decimalValue.HasValue || decimalValue.Value == 0 && string.IsNullOrWhiteSpace(cell.Value.ToString()))
            {
                return(cell.GetStringOrDefault());
            }

            if (cell.Style.NumberFormat != null &&
                !string.IsNullOrWhiteSpace(cell.Style.NumberFormat.Format))
            {
                return(decimalValue.Value.ToString(cell.Style.NumberFormat.Format));
            }

            return(decimalValue.Value.ToString(CultureInfo.InvariantCulture));
        }
Ejemplo n.º 7
0
        public static DateTime?GetDateTimeOrDefault(this IXLCell cell)
        {
            var rawValue = cell.GetStringOrDefault();

            if (string.IsNullOrEmpty(rawValue))
            {
                return(null);
            }

            if (double.TryParse(rawValue, out var date))
            {
                return(DateTime.FromOADate(date));
            }

            if (DateTime.TryParse(rawValue, out var value))
            {
                return(value);
            }

            throw ValueException.ForInvalidValue <DateTime>(new DataSheetCell(cell));
        }
Ejemplo n.º 8
0
        public static decimal?GetDecimalOrDefault(this IXLCell cell)
        {
            var rawValue = cell.GetStringOrDefault();

            if (string.IsNullOrEmpty(rawValue))
            {
                return(null);
            }

            if (decimal.TryParse(rawValue, out var decimalValue))
            {
                return(decimalValue);
            }

            if (double.TryParse(rawValue, out var doubleValue))
            {
                return(Convert.ToDecimal(doubleValue));
            }

            throw ValueException.ForInvalidValue <decimal>(new DataSheetCell(cell));
        }
Ejemplo n.º 9
0
 public string GetStringOrDefault()
 {
     return(_cell.GetStringOrDefault());
 }