/// <summary> /// 获取 T 对像的所有属性 /// </summary> private Dictionary <string, ColumnPropertyInfo> GetObjectColumnPropertyList() { Dictionary <string, ColumnPropertyInfo> result = new Dictionary <string, ColumnPropertyInfo>(); Type t = typeof(T); if (t != null) { PropertyInfo[] piList = t.GetProperties(); foreach (var pi in piList) { if (!pi.PropertyType.IsGenericType) { ExcelColumnInfoAttribute ci = pi.GetCustomAttribute <ExcelColumnInfoAttribute>(); if (null == ci) { continue; } ColumnPropertyInfo colPropInfo = new ColumnPropertyInfo(pi, ci); result.Add(ci.ColumnName, colPropInfo); } } } return(result); }
/// <summary> /// 初始化表头行数据 /// </summary> protected virtual List <ColumnsMapping> InitColumnHeadData() { List <ColumnsMapping> columnsList = new List <ColumnsMapping>(); _columnPropertyList = this.GetObjectColumnPropertyList(); int index = 0; foreach (var item in _columnPropertyList) { ColumnPropertyInfo columnPropertyInfo = item.Value; columnsList.Add(new ColumnsMapping() { ColumnsData = columnPropertyInfo.PropertyName, ColumnsText = columnPropertyInfo.ShowName, ColumnsIndex = index++, Width = 15 }); } return(columnsList); }
/// <summary> /// 获取 T 对像的所有属性 /// </summary> private Dictionary <string, ColumnPropertyInfo> GetObjectColumnPropertyList() { var modelName = typeof(T).Name; if (!MyExcelModels.ContainsKey(modelName)) { Dictionary <string, ColumnPropertyInfo> result = new Dictionary <string, ColumnPropertyInfo>(); Type t = typeof(T); if (t != null) { PropertyInfo[] piList = t.GetProperties(); foreach (var pi in piList) { if (!pi.PropertyType.IsGenericType) { ExcelColumnInfoAttribute ci = pi.GetCustomAttribute <ExcelColumnInfoAttribute>(); if (null == ci) { continue; } ColumnPropertyInfo colPropInfo = new ColumnPropertyInfo(pi, ci); result.Add(pi.Name, colPropInfo); } } } MyExcelModels.GetOrAdd(modelName, result); return(result); } else { return(MyExcelModels[modelName]); } }