internal ExcelQueryArgs(ExcelQueryConstructorArgs args) { FileName = args.FileName; ColumnMappings = args.ColumnMappings ?? new Dictionary <string, string>(); Transformations = args.Transformations ?? new Dictionary <string, Func <string, object> >(); StrictMapping = args.StrictMapping ?? StrictMappingType.None; UsePersistentConnection = args.UsePersistentConnection; TrimSpaces = args.TrimSpaces; ReadOnly = args.ReadOnly; }
internal ExcelQueryArgs(ExcelQueryConstructorArgs args) { FileName = args.FileName; DatabaseEngine = args.DatabaseEngine; ColumnMappings = args.ColumnMappings ?? new Dictionary<string, string>(); Transformations = args.Transformations ?? new Dictionary<string, Func<string, object>>(); StrictMapping = args.StrictMapping ?? StrictMappingType.None; UsePersistentConnection = args.UsePersistentConnection; TrimSpaces = args.TrimSpaces; ReadOnly = args.ReadOnly; }
/// <summary> /// Try get cell value. /// </summary> /// <param name="cell">The cell to retrieve value.</param> /// <param name="targetType">Type of target property.</param> /// <param name="value">The returned value for cell.</param> /// <returns><c>true</c> if get value successfully; otherwise false.</returns> public static bool TryGetCellValue(ICell cell, Type targetType, TrimSpacesType trimSpacesType, out object value) { value = null; if (cell == null) { return(true); } var success = true; switch (GetCellType(cell)) { case CellType.String: switch (trimSpacesType) { case TrimSpacesType.None: value = cell.StringCellValue; break; case TrimSpacesType.Start: value = cell.StringCellValue.TrimStart(); break; case TrimSpacesType.End: value = cell.StringCellValue.TrimEnd(); break; case TrimSpacesType.Both: value = cell.StringCellValue.Trim(); break; default: break; // unreachable } break; case CellType.Numeric: if (DateUtil.IsCellDateFormatted(cell) || targetType == typeof(DateTime)) // DateTime type. { value = cell.DateCellValue; } else // Number type { value = cell.NumericCellValue; } break; case CellType.Boolean: value = cell.BooleanCellValue; break; case CellType.Error: case CellType.Unknown: case CellType.Blank: // Dose nothing to keep return value null. break; default: success = false; break; } return(success); }