public List <IUniversalRowDataContainer> readItems(IKeepable t, Lib.Filter filter) { //читает множество объектов Т из базы if (!myFile.isOpen) { return(null); } List <IUniversalRowDataContainer> rez = new List <IUniversalRowDataContainer>(); Lib.UniversalDataKeeper d; object tmp = null; ExcelDataTable dataTable; object[,] dataArr; long len; long i; dataTable = new ExcelDataTable(myFile.myWorkSheet, myFile.startAddress, myFile.endAddress); dataTable.dataRangeRowShift = myFile.dataRangeRowShift; dataTable.readTheTableFromExcelSheet(); dataArr = dataTable.dataArray; len = dataTable.dataRows.Count; for (i = 0; i < len; i++) { //перебираем по порядку поля, кот. надо присвоить d = new Lib.UniversalDataKeeper(); //это строка foreach (Lib.FieldInfo f in t.fieldsInfo.fields) // это метаполя, котоыре надо присвоить { if (f.excelFileBoundColumnNumber > 0) //это 1-based { tmp = dataArr[i, f.excelFileBoundColumnNumber - 1]; d.addNewElement(f.fieldDbName, tmp); } } rez.Add(d); } return(rez); }
public long rowNo; //номер строки таблицы, где находится запись public ExcelDataTableRow(ExcelDataTable _parent) { parent = _parent; }