public static IList <T> GetExcelToObject <T>(ISheet sheet, string XMLPath) { XMLTable xmlTable = XMLRead.GetXmlToXMLTabl(XMLPath)[0]; ExcelReflectModel <T> reflectModel = new ExcelReflectModel <T>(sheet, xmlTable); IList <T> list = ExcelUtils.SheetToObjectsByXMLTable <T>(reflectModel); return(list); }
public static IList <JTTDSYQZ> GetJTTDSYQZS(string excelPath) { XMLTable xmlTable = XMLRead.GetXmlToXMLTabl(ExcelRelect)[0]; ExcelReflectModel <JTTDSYQZ> model = new ExcelReflectModel <JTTDSYQZ>(excelPath, xmlTable); IList <JTTDSYQZ> list = ExcelUtils.SheetToObjectsByXMLTable <JTTDSYQZ>(model); return(list); }
public static void SetRowValue <T>(object obj, ExcelReflectModel <T> reflectModel, IRow row) { object value; Dictionary <int, Clazz> clazzDic = reflectModel.TitleDic; foreach (int index in clazzDic.Keys) { ICell cell = row.GetCell(index); if (cell == null) { cell = row.CreateCell(index); } value = clazzDic[index].GetMethodInfo.Invoke(obj, null); if (value != null) { cell.SetCellValue(value.ToString()); } } }
public static IList <T> SheetToObjectsByXMLTable <T>(ExcelReflectModel <T> model) { List <T> list = new List <T>(); MethodInfo m = typeof(T).GetMethod("set_Row"); bool hasRowMethod = false; if (m != null) { hasRowMethod = true; } ISheet sheet = model.Sheet; int startRow = model.StartRowIndex; Dictionary <int, XMLObject> xmlObjectDic = model.XMLObjectDic; T obj; int rowCount = model.LastRowIndex - model.EndRowIndex; while (startRow <= rowCount) { IRow row = sheet.GetRow(startRow); if (row == null) { continue; } obj = RowToObject <T>(row, xmlObjectDic); if (obj != null) { if (hasRowMethod) { m.Invoke(obj, new object[] { row }); } list.Add(obj); } startRow++; } return(list); }
public static IList <T> SheetToObjects <T>(ExcelReflectModel <T> model) { return(ToObject <T>(model.Sheet, model.StartRowIndex, model.LastRowIndex, model.TitleDic)); }