public Entry GetRandomEntry() { using var table = new ExcelWorksheetWrapper(Path, Worksheet, TableName); var rows = table.EnumerateRows().ToList(); var rowCount = rows.Count; var randomRowIndex = new Random().Next(0, rowCount); var dateCell = table.GetCellValue(randomRowIndex, table.DateColIndex); return(CreateEntryAtRowIndex(table, (DateTime)dateCell, randomRowIndex)); }
public Entry GetEntry(DateTime date) { using var table = new ExcelWorksheetWrapper(Path, Worksheet, TableName); // Look for entry with specified date foreach (var row in table.EnumerateRows()) { var dateCell = table.GetCellValue(row, table.DateColIndex); if (dateCell is DateTime entryDate && entryDate.Date == date.Date) { return(CreateEntryAtRowIndex(table, entryDate, row)); } } // Return null if not found return(null); }
public IEnumerable <Entry> GetEntries(DateTime startDate, DateTime endDate) { using var table = new ExcelWorksheetWrapper(Path, Worksheet, TableName); // Look for entry with specified date foreach (var row in table.EnumerateRows()) { var dateCell = table.GetCellValue(row, table.DateColIndex); if (dateCell is DateTime entryDate && entryDate.Date >= startDate.Date && entryDate.Date <= endDate) { var entry = CreateEntryAtRowIndex(table, entryDate, row); if (entry != null) { yield return(entry); } } } }