static public List <object> ToList(WorkBookConfig config) { List <object> dataFromTable = new List <object>(); using (var excelWorkbook = new XLWorkbook(config.PathToBook)) { var nonEmptyDataRows = excelWorkbook.Worksheet(1).RowsUsed(); foreach (var dataRow in nonEmptyDataRows) { for (int i = 1; i <= 7; i++) { if ((i == 4 || i == 5) && (dataRow.RangeAddress.FirstAddress.RowNumber != 1)) //Проверяем, не пренадлежат ли данные к первой строк(так как в ней заложены названия столбцов) { if (dataRow.Cell(i).DataType == XLDataType.Number) //Проверяем, является ли содержимое ячейки цифрой (так как даты интерпретируются как значени double) { object test = dataRow.Cell(i).Value; double dobTest = (double)test; DateTime dtTest = DateTime.FromOADate(dobTest); dataFromTable.Add(dtTest); } } else { dataFromTable.Add(dataRow.Cell(i).Value); } } } } return(dataFromTable); }
static void Main(string[] args) { WorkBookConfig s = WorkBookConfigReader.ReadConfig(); List <object> sameList = WorkBookReader.ToList(s); List <Appeal> appeals = AppealConverter.ObjectListToAppeal(sameList); Config config = ConfigReader.ReadConfig(); DateTime[] workDays = DaysDestribution.WorkDayCalculator(config.StartDate, config.EndDate, config.HoliDays); AppealsDestributionToDate.AppealsDistributionOnDate(appeals, workDays); ExportToWorkbook.ExportToExcell(appeals); Console.WriteLine("Рекомбинация выполнена успешно"); Console.ReadLine(); }