public ActionResult BeneficiaryDetails(BeneficiaryDetailsModel model) { var categoryList = db.tbl_beneficiary.OrderBy(b => b.category).Select(b => b.category).ToList().Distinct(); ViewBag.category = categoryList; var beneficiaryList = db.tbl_beneficiary.Where(b => b.category == model.Category).Select(b => b).ToList(); BeneficiaryDetailsModel benDetails = new BeneficiaryDetailsModel(); benDetails.BeneficiaryList = beneficiaryList; return(View(benDetails)); }
public void ExportToExcelReports() { DataTable dt = new DataTable(); dt.TableName = "tbl_BeneficiaryDetails"; BeneficiaryDetailsModel benModel = TempData["BeneficiaryDetails"].CastTo <BeneficiaryDetailsModel>(); var beneficiaryDetails = db.tbl_beneficiary.Select(b => b).ToList(); List <ExportBeneficiaryModel> downloadBeneficiaryList = new List <ExportBeneficiaryModel>(); foreach (var item in benModel.BeneficiaryList) { ExportBeneficiaryModel benDetails = new ExportBeneficiaryModel(); benDetails.Aadhar = item.Aadhar; //benDetails.BeneficiaryID = item.BeneficiaryID; benDetails.BeneficiaryName = item.BeneficiaryName; benDetails.Block = item.Block; benDetails.Caste = item.Caste; benDetails.ProjectType = item.category; benDetails.ContactNo = item.ContactNo; benDetails.District = item.District; benDetails.FatherName = item.FatherName; benDetails.PumpType = item.PumpType; benDetails.systemCapacity = item.systemCapacity; benDetails.Village = item.Village; benDetails.WorkOrderNo = item.WorkOrderNo; downloadBeneficiaryList.Add(benDetails); } DataTable dataTable = ToDataTable(downloadBeneficiaryList); using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(dataTable); wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; wb.Style.Font.Bold = true; Response.Clear(); Response.Buffer = true; Response.Charset = ""; Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename= BeneficiaryList.xlsx"); using (MemoryStream MyMemoryStream = new MemoryStream()) { wb.SaveAs(MyMemoryStream); MyMemoryStream.WriteTo(Response.OutputStream); Response.Flush(); Response.End(); } } }