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; }
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"); }
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); }
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); } }