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)); }
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); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
public string GetStringOrDefault() { return(_cell.GetStringOrDefault()); }