public override void ExecuteResult(ControllerContext context) { var Response = context.HttpContext.Response; string scheduletext = string.Empty; var sdt = CmsData.Organization.GetDateFromScheduleId(OrgSearch.ScheduleId ?? 0); if (sdt.HasValue) { scheduletext = sdt.Value.ToString("dddd h:mm tt"); } var headtext = $"Enrollment Control Report {scheduletext}"; var filename = headtext.SlugifyString("-", false); Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", $"filename={filename}.pdf"); var doc = new Document(PageSize.LETTER, 36, 36, 36, 42); var w = PdfWriter.GetInstance(doc, Response.OutputStream); w.PageEvent = new HeadFoot(headtext); var boldfont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 8); doc.Open(); var t = new PdfPTable(4); t.HeaderRows = 1; t.WidthPercentage = 100; t.SetWidths(new int[] { 20, 30, 10, 15 }); var font = FontFactory.GetFont(FontFactory.HELVETICA, 8); t.AddCell(new Phrase("Name", boldfont)); t.AddCell(new Phrase("Organization", boldfont)); t.AddCell(new Phrase("Location", boldfont)); t.AddCell(new Phrase("Member Type", boldfont)); foreach (var m in EnrollmentControlModel.List(OrgSearch, usecurrenttag:UseCurrentTag)) { t.AddCell(new Phrase(m.Name, font)); t.AddCell(new Phrase(m.Organization, font)); t.AddCell(new Phrase(m.Location, font)); t.AddCell(new Phrase(m.MemberType, font)); } if (t.Rows.Count > 1) { doc.Add(t); } else { doc.Add(new Phrase("no data")); } doc.Close(); }
public ActionResult EnrollmentControl2(EnrollmentControlModel m) { return View(m); }
public ActionResult EnrollmentControl(bool? excel, EnrollmentControlModel m) { if (excel != true) return new EnrollmentControlResult { model = m }; IOrderedEnumerable<EnrollmentControlModel.MemberInfo> d = from p in m.list() orderby p.Name select p; var workbook = new HSSFWorkbook(); // todo: Convert all Excel exports to this approach ISheet sheet = workbook.CreateSheet("EnrollmentControl"); int rowIndex = 0; IRow row = sheet.CreateRow(rowIndex); row.CreateCell(0).SetCellValue("PeopleId"); row.CreateCell(1).SetCellValue("Name"); row.CreateCell(2).SetCellValue("Organization"); row.CreateCell(3).SetCellValue("Location"); row.CreateCell(4).SetCellValue("MemberType"); rowIndex++; sheet.DisplayRowColHeadings = true; foreach (EnrollmentControlModel.MemberInfo i in d) { row = sheet.CreateRow(rowIndex); row.CreateCell(0).SetCellValue(i.Id); row.CreateCell(1).SetCellValue(i.Name); row.CreateCell(2).SetCellValue(i.Organization); row.CreateCell(3).SetCellValue(i.Location); row.CreateCell(4).SetCellValue(i.MemberType); rowIndex++; } sheet.AutoSizeColumn(0); sheet.AutoSizeColumn(1); sheet.AutoSizeColumn(2); sheet.AutoSizeColumn(3); sheet.AutoSizeColumn(4); string saveAsFileName = string.Format("EnrollmentControl-{0:d}.xls", DateTime.Now); var ms = new MemoryStream(); workbook.Write(ms); return File(ms.ToArray(), "application/vnd.ms-excel", "attachment;filename=" + saveAsFileName); }