private static void FormatUserAndAdresses(Worksheet ws, UserFinderFilter filter) { int headerRow = 3; ExcelHelper.WriteHeader1(ws, headerRow, 0, "Код клиента", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 1, "Наименование клиента", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 2, "Регион", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 3, filter.HeadCodeName, true, true); ExcelHelper.WriteHeader1(ws, headerRow, 4, filter.HeadName, true, true); ExcelHelper.WriteHeader1(ws, headerRow, 5, "Дата регистрации", true, true); if (filter.ShowUserNames()) { ExcelHelper.WriteHeader1(ws, headerRow, 6, "С этим адресом зарегистрированы пользователи, код пользователя (комментарий к пользователю)", true, true); } ws.Cells.ColumnWidth[0] = 4000; ws.Cells.ColumnWidth[1] = 12000; ws.Cells.ColumnWidth[2] = 6000; ws.Cells.ColumnWidth[3] = 3000; ws.Cells.ColumnWidth[4] = 12000; ws.Cells.ColumnWidth[5] = 8000; if (filter.ShowUserNames()) { ws.Cells.ColumnWidth[6] = 15000; } ws.Cells.Rows[headerRow].Height = 514; }
private static void AnalysisOfWorkDrugstoresFormat(Worksheet ws) { int headerRow = 5; ExcelHelper.WriteHeader1(ws, headerRow, 0, "Код", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 1, "Наименование", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 2, "Количество пользователей", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 3, "Количество адресов доставки", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 4, "Регион", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 5, "Обновления (Новый/Старый)", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 6, "Падение обновлений", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 7, "Заказы (Новый/Старый)", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 8, "Падение заказов", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 9, "Адреса (Новый/Старый)", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 10, "Автозаказ", true, true); ws.Cells.ColumnWidth[0] = 4000; ws.Cells.ColumnWidth[1] = 6000; ws.Cells.ColumnWidth[2] = 4000; ws.Cells.ColumnWidth[3] = 4000; ws.Cells.ColumnWidth[4] = 6000; ws.Cells.ColumnWidth[5] = 6000; ws.Cells.ColumnWidth[6] = 4000; ws.Cells.ColumnWidth[7] = 10000; ws.Cells.ColumnWidth[8] = 4000; ws.Cells.ColumnWidth[9] = 6000; ws.Cells.ColumnWidth[10] = 6000; ws.Cells.Rows[headerRow].Height = 514; }
public static byte[] ExcelSwitchOffClients(SwitchOffClientsFilter filter) { var wb = new Workbook(); var ws = new Worksheet("Список отключенных клиентов"); int row = 4; int colShift = 0; ws.Merge(0, 0, 0, 6); ExcelHelper.WriteHeader1(ws, 0, 0, "Список отключенных клиентов", false, true); ws.Merge(1, 1, 1, 2); ExcelHelper.Write(ws, 1, 0, "Регион:", false); string regionName; if (filter.Region == null) { regionName = "Все"; } else { regionName = filter.Region.Name; } ExcelHelper.Write(ws, 1, 1, regionName, false); ws.Merge(2, 1, 2, 2); ExcelHelper.Write(ws, 2, 0, "Период:", false); if (filter.Period.Begin != filter.Period.End) { ExcelHelper.Write(ws, 2, 1, "С " + filter.Period.Begin.ToString("dd.MM.yyyy") + " по " + filter.Period.End.ToString("dd.MM.yyyy"), false); } else { ExcelHelper.Write(ws, 2, 1, "За " + filter.Period.Begin.ToString("dd.MM.yyyy"), false); } var reportData = GetExcelSwitchOffClients(filter); foreach (var item in reportData) { ExcelHelper.Write(ws, row, colShift + 0, item.ClientId, true); ExcelHelper.Write(ws, row, colShift + 1, item.ClientName, true); ExcelHelper.Write(ws, row, colShift + 2, item.RegionName, true); ExcelHelper.Write(ws, row, colShift + 3, item.LogTime, true); ExcelHelper.Write(ws, row, colShift + 4, item.Comment, true); row++; } FormatSwitchOffClients(ws, filter); wb.Worksheets.Add(ws); var ms = new MemoryStream(); wb.Save(ms); return(ms.ToArray()); }
public static byte[] ExcelWhoWasNotUpdated(WhoWasNotUpdatedFilter filter) { var wb = new Workbook(); var ws = new Worksheet("Кто не обновлялся с опред. даты"); int row = 4; int colShift = 0; ws.Merge(0, 0, 0, 6); ExcelHelper.WriteHeader1(ws, 0, 0, "Кто не обновлялся с опред. даты", false, true); ws.Merge(1, 1, 1, 2); ExcelHelper.Write(ws, 1, 0, "Регион:", false); string regionName; if (filter.Regions != null && filter.Regions.Any()) { regionName = filter.GetRegionNames(); } else { regionName = "Все"; } ExcelHelper.Write(ws, 1, 1, regionName, false); ws.Merge(2, 1, 2, 2); ExcelHelper.Write(ws, 2, 0, "Нет обновлений с:", false); ExcelHelper.Write(ws, 2, 1, filter.BeginDate.ToString("dd.MM.yyyy"), false); var reportData = filter.Find(true); foreach (var item in reportData) { ExcelHelper.Write(ws, row, colShift + 0, item.ClientId, true); ExcelHelper.Write(ws, row, colShift + 1, item.ClientName, true); ExcelHelper.Write(ws, row, colShift + 2, item.UserId, true); ExcelHelper.Write(ws, row, colShift + 3, item.UserName, true); ExcelHelper.Write(ws, row, colShift + 4, item.RegionName, true); ExcelHelper.Write(ws, row, colShift + 5, item.Registrant, true); ExcelHelper.Write(ws, row, colShift + 6, item.UpdateDate, true); row++; } FormatWhoWasNotUpdated(ws); wb.Worksheets.Add(ws); var ms = new MemoryStream(); wb.Save(ms); return(ms.ToArray()); }
private static void FormatSwitchOffClients(Worksheet ws, SwitchOffClientsFilter filter) { int headerRow = 3; ExcelHelper.WriteHeader1(ws, headerRow, 0, "Код клиента", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 1, "Наименование клиента", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 2, "Регион", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 3, "Дата отключения", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 4, "Комментарий оператора", true, true); ws.Cells.ColumnWidth[0] = 4000; ws.Cells.ColumnWidth[1] = 12000; ws.Cells.ColumnWidth[2] = 6000; ws.Cells.ColumnWidth[3] = 5000; ws.Cells.ColumnWidth[4] = 20000; ws.Cells.Rows[headerRow].Height = 514; }
private static void FormatWhoWasNotUpdated(Worksheet ws, int headerRow = 4) { ExcelHelper.WriteHeader1(ws, headerRow, 0, "Код клиента", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 1, "Наименование клиента", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 2, "Код пользователя", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 3, "Комментарий пользователя", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 4, "Регион", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 5, "Регистратор", true, true); ExcelHelper.WriteHeader1(ws, headerRow, 6, "Дата обновления", true, true); ws.Cells.ColumnWidth[0] = 4000; ws.Cells.ColumnWidth[1] = 12000; ws.Cells.ColumnWidth[2] = 4000; ws.Cells.ColumnWidth[3] = 12000; ws.Cells.ColumnWidth[4] = 6000; ws.Cells.ColumnWidth[5] = 8000; ws.Cells.ColumnWidth[6] = 6000; ws.Cells.Rows[headerRow].Height = 514; }
public static byte[] GetCallsHistory(CallRecordFilter filter) { var wb = new Workbook(); var ws = new Worksheet("История звонков"); int row = 1; int col = 1; ExcelHelper.WriteHeader1(ws, 0, 1, "Дата звонка", true, true); ExcelHelper.WriteHeader1(ws, 0, 2, "Номер звонившего", true, true); ExcelHelper.WriteHeader1(ws, 0, 3, "Имя звонившего", true, true); ExcelHelper.WriteHeader1(ws, 0, 4, "Куда звонил", true, true); ExcelHelper.WriteHeader1(ws, 0, 5, "Кому звонил", true, true); ExcelHelper.WriteHeader1(ws, 0, 6, "Тип звонка", true, true); filter.PageSize = UInt16.MaxValue; var calls = filter.Find(); foreach (var call in calls) { ExcelHelper.Write(ws, row, col, call.WriteTime, true); ExcelHelper.Write(ws, row, col + 1, call.From, true); ExcelHelper.Write(ws, row, col + 2, call.NameSource, true); ExcelHelper.Write(ws, row, col + 3, call.To, true); ExcelHelper.Write(ws, row, col + 4, call.NameDestination, true); ExcelHelper.Write(ws, row, col + 5, call.GetCallType(), true); row++; } for (ushort i = 1; i <= 6; i++) { ws.Cells.ColumnWidth[i] = 20 * 256; } wb.Worksheets.Add(ws); var buffer = new MemoryStream(); wb.Save(buffer); return(buffer.ToArray()); }
public static byte[] ExcelAnalysisOfWorkDrugstores(AnalysisOfWorkDrugstoresFilter filter) { var wb = new Workbook(); var ws = new Worksheet("Сравнительный анализ работы аптек"); int row = 6; int colShift = 0; ws.Merge(0, 0, 0, 10); ExcelHelper.WriteHeader1(ws, 0, 0, "Сравнительный анализ работы аптек", false, true); ws.Merge(1, 1, 1, 2); ExcelHelper.Write(ws, 1, 0, "Регион:", false); string regionName; if (filter.Regions != null && filter.Regions.Any()) { regionName = filter.GetRegionNames(); } else { regionName = "Все"; } ExcelHelper.Write(ws, 1, 1, regionName, false); ws.Merge(2, 1, 2, 2); ExcelHelper.Write(ws, 2, 0, "Старый период:", false); if (filter.FistPeriod.Begin != filter.FistPeriod.End) { ExcelHelper.Write(ws, 2, 1, "С " + filter.FistPeriod.Begin.ToString("dd.MM.yyyy") + " по " + filter.FistPeriod.End.ToString("dd.MM.yyyy"), false); } else { ExcelHelper.Write(ws, 2, 1, "За " + filter.FistPeriod.Begin.ToString("dd.MM.yyyy"), false); } ws.Merge(3, 1, 3, 2); ExcelHelper.Write(ws, 3, 0, "Новый период:", false); if (filter.LastPeriod.Begin != filter.LastPeriod.End) { ExcelHelper.Write(ws, 3, 1, "С " + filter.LastPeriod.Begin.ToString("dd.MM.yyyy") + " по " + filter.LastPeriod.End.ToString("dd.MM.yyyy"), false); } else { ExcelHelper.Write(ws, 3, 1, "За " + filter.LastPeriod.Begin.ToString("dd.MM.yyyy"), false); } var reportData = filter.Find(true).Cast <AnalysisOfWorkFiled>().ToList(); reportData.Each(x => x.ForExport = true); foreach (var item in reportData) { ExcelHelper.Write(ws, row, colShift + 0, item.Id, true); ExcelHelper.Write(ws, row, colShift + 1, item.Name, true); ExcelHelper.Write(ws, row, colShift + 2, item.UserCount, true); ExcelHelper.Write(ws, row, colShift + 3, item.AddressCount, true); ExcelHelper.Write(ws, row, colShift + 4, item.RegionName, true); ExcelHelper.Write(ws, row, colShift + 5, item.Updates, true); ExcelHelper.Write(ws, row, colShift + 6, item.ProblemUpdates, true); ExcelHelper.Write(ws, row, colShift + 7, item.Orders, true); ExcelHelper.Write(ws, row, colShift + 8, item.ProblemOrders, true); ExcelHelper.Write(ws, row, colShift + 9, item.Addresses, true); ExcelHelper.Write(ws, row, colShift + 10, item.AutoOrder, true); row++; } AnalysisOfWorkDrugstoresFormat(ws); wb.Worksheets.Add(ws); var ms = new MemoryStream(); wb.Save(ms); return(ms.ToArray()); }
public static byte[] GetUserOrAdressesInformation(UserFinderFilter filter) { var wb = new Workbook(); var ws = new Worksheet("зарегистрированные пользователи и адреса в регионе"); int row = 4; int colShift = 0; ws.Merge(0, 0, 0, 6); if (filter.FinderType == RegistrationFinderType.Users) { ExcelHelper.WriteHeader1(ws, 0, 0, "зарегистрированные пользователи", false, true); } if (filter.FinderType == RegistrationFinderType.Addresses) { ExcelHelper.WriteHeader1(ws, 0, 0, "зарегистрированные адреса", false, true); } ws.Merge(1, 1, 1, 2); ExcelHelper.Write(ws, 1, 0, "Регион:", false); string regionName; if (filter.Region == null) { regionName = "Все"; } else { regionName = filter.Region.Name; } ExcelHelper.Write(ws, 1, 1, regionName, false); ws.Merge(2, 1, 2, 2); ExcelHelper.Write(ws, 2, 0, "Период:", false); if (filter.Period.Begin != filter.Period.End) { ExcelHelper.Write(ws, 2, 1, "С " + filter.Period.Begin.ToString("dd.MM.yyyy") + " по " + filter.Period.End.ToString("dd.MM.yyyy"), false); } else { ExcelHelper.Write(ws, 2, 1, "За " + filter.Period.Begin.ToString("dd.MM.yyyy"), false); } var reportData = GetRegistrationInformation(filter); var showUserNames = filter.ShowUserNames(); foreach (var item in reportData) { ExcelHelper.Write(ws, row, colShift + 0, item.ClientId, true); ExcelHelper.Write(ws, row, colShift + 1, item.ClientName, true); ExcelHelper.Write(ws, row, colShift + 2, item.RegionName, true); ExcelHelper.Write(ws, row, colShift + 3, item.Id, true); ExcelHelper.Write(ws, row, colShift + 4, item.Name, true); ExcelHelper.Write(ws, row, colShift + 5, item.RegistrationDate, true); if (showUserNames) { ExcelHelper.Write(ws, row, colShift + 6, item.UserNames, true); } row++; } FormatUserAndAdresses(ws, filter); wb.Worksheets.Add(ws); var ms = new MemoryStream(); wb.Save(ms); return(ms.ToArray()); }