public ActionResult Export(PurchaseOrderModels model) { try { if (model.ListStores == null) { ModelState.AddModelError("ListStores", CurrentUser.GetLanguageTextFromKey("Please choose store")); return(View(model)); } XLWorkbook wb = new XLWorkbook(); var wsPO = wb.Worksheets.Add("PO List"); var wsPOD = wb.Worksheets.Add("Ingredient List"); //var wsPOR = wb.Worksheets.Add("Purchase Order Receipt"); List <SelectListItem> listStore = (List <SelectListItem>)ViewBag.ListStore; model.PODate = new DateTime(model.PODate.Year, model.PODate.Month, model.PODate.Day, 0, 0, 0); model.DeliveryDate = new DateTime(model.DeliveryDate.Year, model.DeliveryDate.Month, model.DeliveryDate.Day, 23, 59, 59); StatusResponse response = _factory.Export(ref wsPO, ref wsPOD, /*ref wsPOR,*/ model, listStore, listCompanyId); if (!response.Status) { ModelState.AddModelError("", response.MsgError); return(View(model)); } ViewBag.wb = wb; Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Charset = System.Text.UTF8Encoding.UTF8.WebName; Response.ContentEncoding = System.Text.UTF8Encoding.UTF8; Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", String.Format(@"attachment;filename={0}.xlsx", CommonHelper.GetExportFileName("PurchaseOrder").Replace(" ", "_"))); using (var memoryStream = new System.IO.MemoryStream()) { wb.SaveAs(memoryStream); memoryStream.WriteTo(HttpContext.Response.OutputStream); memoryStream.Close(); } HttpContext.Response.End(); return(RedirectToAction("Export")); } catch (Exception e) { _logger.Error("PurchaseOrderExport: " + e); ModelState.AddModelError("ListStores", CurrentUser.GetLanguageTextFromKey("Export file have error")); return(View(model)); } }