Ejemplo n.º 1
0
        public ColumnInfo(int ordinal, int column, string columnName, ExcelDbType dataType)
        {
            this._ordinal    = ordinal;
            this._column     = column;
            this._columnName = columnName;
            this._dataType   = dataType;

            this._columnAlias = string.Empty;
            this._tableName   = string.Empty;
            this._tableAlias  = string.Empty;
        }
Ejemplo n.º 2
0
        public static Type GetDotNetType(ExcelDbType dataType)
        {
            switch (dataType)
            {
            case ExcelDbType.Binary:
                return(typeof(byte[]));

            case ExcelDbType.Boolean:
                return(typeof(bool));

            case ExcelDbType.Date:
                return(typeof(DateTime));

            case ExcelDbType.DateTime:
                return(typeof(DateTime));

            case ExcelDbType.Time:
                return(typeof(TimeSpan));

            case ExcelDbType.Decimal:
                return(typeof(decimal));

            case ExcelDbType.Double:
                return(typeof(double));

            case ExcelDbType.Single:
                return(typeof(float));

            case ExcelDbType.SByte:
                return(typeof(sbyte));

            case ExcelDbType.Int16:
                return(typeof(short));

            case ExcelDbType.Int32:
                return(typeof(int));

            case ExcelDbType.Int64:
                return(typeof(long));

            case ExcelDbType.Object:
                return(typeof(object));

            case ExcelDbType.String:
                return(typeof(string));
            }

            throw new SystemException("Invalid data type");
        }
Ejemplo n.º 3
0
        public static string GetTypeName(ExcelDbType dataType)
        {
            switch (dataType)
            {
            case ExcelDbType.Binary:
                return("Binary");

            case ExcelDbType.Boolean:
                return("Boolean");

            case ExcelDbType.Date:
                return("Date");

            case ExcelDbType.DateTime:
                return("DateTime");

            case ExcelDbType.Time:
                return("Time");

            case ExcelDbType.Decimal:
                return("Decimal");

            case ExcelDbType.Double:
                return("Double");

            case ExcelDbType.Single:
                return("Single");

            case ExcelDbType.SByte:
                return("SByte");

            case ExcelDbType.Int16:
                return("Int16");

            case ExcelDbType.Int32:
                return("Int32");

            case ExcelDbType.Int64:
                return("Int64");

            case ExcelDbType.Object:
                return("Object");

            case ExcelDbType.String:
                return("String");
            }
            return(string.Empty);
        }
Ejemplo n.º 4
0
        private object GetCellValue(IRange cell, ExcelDbType expectedType, bool displayZero = true)
        {
            object v = cell.Value;

            if (v == null)
            {
                return(null);
            }

            if (!displayZero)
            {
                if ((v is double && (double)v == 0) || (v is TimeSpan && (TimeSpan)v == TimeSpan.Zero))
                {
                    return(null);
                }
            }

            //
            if (v is CalcError)
            {
                switch ((CalcError)v)
                {
                case CalcError.Null:
                    return("#NULL!");

                case CalcError.Div0:
                    return("#DIV/0!");

                case CalcError.Value:
                    return("#VALUE!");

                case CalcError.Ref:
                    return("#REF!");

                case CalcError.Name:
                    return("#NAME?");

                case CalcError.Num:
                    return("#NUM!");

                case CalcError.NA:
                    return("#N/A");

                case CalcError.GettingData:
                    return("#GETTING_DATA");

                default:
                    return(null);
                }
            }

            //
            try
            {
                switch (expectedType)
                {
                case ExcelDbType.Boolean:
                    return(DataTypeUtil.ToBoolean(v));

                case ExcelDbType.Date:
                case ExcelDbType.DateTime:
                    return(DataTypeUtil.ToDateTime(v));

                case ExcelDbType.Time:
                    return(DataTypeUtil.ToTimeSpan(v));

                case ExcelDbType.Decimal:
                case ExcelDbType.Double:
                case ExcelDbType.Single:
                    return(DataTypeUtil.ToDouble(v));

                case ExcelDbType.SByte:
                case ExcelDbType.Int16:
                case ExcelDbType.Int32:
                    return(DataTypeUtil.ToInt(v));

                case ExcelDbType.Int64:
                    return(DataTypeUtil.ToLong(v));

                case ExcelDbType.Object:
                    return(v);

                case ExcelDbType.String:
                    return(DataTypeUtil.ToString(v));

                default:
                    return(null);
                }
            }
            catch
            {
                return(null);
            }
        }