private void Zakaz_Click(object sender, RoutedEventArgs e) { string path = SaveFile(); if (path.Equals("")) { return; } ExcelPackage.LicenseContext = LicenseContext.NonCommercial; using ExcelPackage excel = new ExcelPackage(); var workSheet = excel.Workbook.Worksheets.Add("Sheet1"); workSheet.TabColor = System.Drawing.Color.Black; workSheet.DefaultRowHeight = 12; workSheet.Row(1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; workSheet.Row(1).Style.Font.Bold = true; var zakazs = from zakaz in db.Zakazs join avto in db.Avtos on zakaz.IdAvto equals avto.IdAvto join vod in db.Vods on zakaz.IdVod equals vod.IdVod join gruz in db.Gruzs on zakaz.IdGruz equals gruz.IdGruz join klient in db.Klients on zakaz.IdKlient equals klient.IdKlient where zakaz.DateVypoln.Month == DateTime.Now.Month - 1 select new ZakazCase { IdZakaz = zakaz.IdZakaz, DateZakaz = zakaz.DateZakaz, NameGruz = gruz.NameGruz, Otkuda = zakaz.Otkuda, Kuda = zakaz.Kuda, DateVypoln = zakaz.DateVypoln, Marka = avto.Marka, FIOVod = vod.F + " " + vod.I + " " + vod.O, FIOKlient = klient.FIO, Kol = zakaz.Kol, Summa = zakaz.Summa }; var gruzs = zakazs.GroupBy(e => e.Kuda).Select(e => new { Kuda = e.Key, Kol = e.Count(), }).OrderByDescending(e => e.Kol).ToList(); foreach (var item in gruzs) { MessageBox.Show(item.Kuda + " " + item.Kol); } workSheet.Cells[1, 1].Value = "Куда"; workSheet.Cells[1, 2].Value = "Количество за месяц"; var index = 2; foreach (var item in gruzs) { workSheet.Cells[index, 1].Value = item.Kol; workSheet.Cells[index, 2].Value = item.Kol; index++; } if (File.Exists(path)) { File.Delete(path); } FileStream objFileStrm = File.Create(path); objFileStrm.Close(); File.WriteAllBytes(path, excel.GetAsByteArray()); }