public static IEnumerable <Tabl> EnumerateTabl(string path) { using (var workbook = new XLWorkbook(path)) { // for (int row = 3; row <= 1000000; ++row) { if (workbook.Worksheets.Worksheet(1).Cell(row, 1).GetValue <string>() == "") { break; } else { var tablica = new Tabl { Id = workbook.Worksheets.Worksheet(1).Cell(row, 1).GetValue <string>(), Name = workbook.Worksheets.Worksheet(1).Cell(row, 2).GetValue <string>(), Info = workbook.Worksheets.Worksheet(1).Cell(row, 3).GetValue <string>(), Sourse = workbook.Worksheets.Worksheet(1).Cell(row, 4).GetValue <string>(), Target = workbook.Worksheets.Worksheet(1).Cell(row, 5).GetValue <string>(), Conf = workbook.Worksheets.Worksheet(1).Cell(row, 6).GetValue <string>().Replace("0", "нет").Replace("1", "да"), Integ = workbook.Worksheets.Worksheet(1).Cell(row, 7).GetValue <string>().Replace("0", "нет").Replace("1", "да"), Avail = workbook.Worksheets.Worksheet(1).Cell(row, 8).GetValue <string>().Replace("0", "нет").Replace("1", "да"), }; //ForSravn.Add(tablica); yield return(tablica); } } } }
public void Opened() { try { var vivod = Tabl.EnumerateTabl("thrlist.xlsx").ToList(); foreach (var item in vivod) { bufferSTR.Add(item.ToString()); } BUFFER.Add(bufferSTR); bufferSTR = new List <string>(); var vivod2 = new List <Tabl>(); for (int i = 0; i < 15; i++) { vivod2.Add(vivod[i]); } ExcelGrid.ItemsSource = vivod2; Str.Content = $"Cтраница 1 из {(int)((vivod.Count - 1) / 15 + 1)}"; try { if (BUFFER[BUFFER.Count - 1].Count > BUFFER[BUFFER.Count - 2].Count) { MessageBox.Show($"Открыто!\nВсего записей: {vivod.Count}\nИз них новых: {BUFFER[BUFFER.Count - 1].Count - BUFFER[BUFFER.Count - 2].Count}\nВ прошлый раз было: {BUFFER[BUFFER.Count - 2].Count} записей\nПроверить различия можно через БЫЛО-СТАЛО."); } else if (BUFFER[BUFFER.Count - 1].Count < BUFFER[BUFFER.Count - 2].Count) { MessageBox.Show($"Открыто!\nВсего записей: {vivod.Count}\nИз базы удалили: {BUFFER[BUFFER.Count - 2].Count - BUFFER[BUFFER.Count - 1].Count}\nВ прошлый раз было: {BUFFER[BUFFER.Count - 2].Count} записей\nПроверить различия можно через БЫЛО-СТАЛО."); } else { MessageBox.Show($"Открыто!\nВсего записей: {vivod.Count}\nВ прошлый раз было: {BUFFER[BUFFER.Count - 2].Count} записей.\nКолличество не изменилось, однако содержание могло поменяться.\nПроверить различия в содержании можно через БЫЛО-СТАЛО."); } MessageBox.Show($"Выведены первые 15 угроз из {vivod.Count}.\nОстальные находятся на следующих страницах.\nВсего страниц {(int)((vivod.Count - 1) / 15 + 1)}"); } catch { MessageBox.Show("Эта ваша первая выгрузка локальной базы!\nИстория изменений не знает\nБЫЛО-СТАЛО ничего не ответит\nКак только локальная база измениться, БЫЛО-СТАЛО даст знать!"); MessageBox.Show($"Выведены первые 15 угроз из {vivod.Count}.\nОстальные находятся на следующих страницах.\nВсего страниц {(int)((vivod.Count - 1) / 15 + 1)}"); } } catch (Exception ex) { MessageBox.Show("Локальной базы данных не существует! Неоходимо нажать кнопку Обновить Базу"); } }
public void Stranica() { var vivod = Tabl.EnumerateTabl("thrlist.xlsx").ToList(); List <Tabl> vivod2 = new List <Tabl>(); for (int i = (page) * 15; i < (page + 1) * 15; i++) { try { vivod2.Add(vivod[i]); } catch (Exception ex) { if (i < 1) { MessageBox.Show($"Это была первая страница"); break; } else { MessageBox.Show($"Это последняя страница. Выведены последние {i - 15 * page} угроз"); break; } } } ExcelGrid.ItemsSource = vivod2; if ((page + 1 <= (int)((vivod.Count - 1) / 15 + 1)) && (page + 1 >= 1)) { Str.Content = $"Cтраница {page + 1} из {(int)((vivod.Count - 1) / 15 + 1)}"; } else { Str.Content = $"Cтраница 0 из {(int)((vivod.Count - 1) / 15 + 1)}"; } }
private void NewOpen(object sender, RoutedEventArgs e) { try { var vivod = Tabl.EnumerateTabl("thrlist.xlsx").ToList(); foreach (var item in vivod) { //buffer.Add(item); bufferSTR.Add(item.ToString()); // MessageBox.Show(item.ToString()); } BUFFER.Add(bufferSTR); bufferSTR = new List <string>(); MessageBox.Show($"Все {vivod.Count} записей выведены в окно"); ExcelGrid.ItemsSource = vivod; Str.Content = $"Cтраница 1 из 1"; } catch (Exception ex) { MessageBox.Show(ex.Message, "Не получилось вывести!"); } }