コード例 #1
0
 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;
 }
コード例 #2
0
ファイル: ExcelQueryArgs.cs プロジェクト: Tanato/LinqToExcel
 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;
 }
コード例 #3
0
        /// <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);
        }