public ActionResult Export(ProductModels model) { try { if (model.ListStores == null) { ModelState.AddModelError("ListStores", CurrentUser.GetLanguageTextFromKey("Please choose store.")); return(View(model)); } XLWorkbook wb = new XLWorkbook(); var wsSetMenu = wb.Worksheets.Add("SetMenus"); var wsTab = wb.Worksheets.Add("Tabs"); var wsDish = wb.Worksheets.Add("Dishes"); StatusResponse response = _factory.ExportSetMenu(ref wsSetMenu, ref wsTab, ref wsDish, model.ListStores); if (!response.Status) { ModelState.AddModelError("", response.MsgError); return(View(model)); } ViewBag.wb = wb; Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Charset = UTF8Encoding.UTF8.WebName; Response.ContentEncoding = UTF8Encoding.UTF8; Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", String.Format(@"attachment;filename={0}.xlsx", CommonHelper.GetExportFileName("SetMenus").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 ex) { _logger.Error("Product_SetMenu_Export: " + ex); return(new HttpStatusCodeResult(400, ex.Message)); } }