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();
                }
            }
        }