ASP.NET MVC 4 Controller + EPPlus Export Excel Integration

ASP.NET MVC 4 Controller + EPPlus Export Excel Integration

   Controllers\HomeController.cs
 
   using OfficeOpenXml;
 
   public ActionResult Excel(string category)
   {
      DAO dao = new DAO();
 
      List<Asset> list = dao.getItemByType(category);
 
      if (this.UserList.Contains(System.Web.HttpContext.Current.User.Identity.Name.ToUpper()))
      {
         using (ExcelPackage pck = new ExcelPackage())
         {
            ExcelWorksheet ws = pck.Workbook.Worksheets.Add(category);
            ws.Cells["A1"].LoadFromCollection(list, true);
 
            Byte[] fileBytes = pck.GetAsByteArray();
            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", "attachment;filename=Export.xlsx");
 
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-excel";
            StringWriter sw = new StringWriter();
            Response.BinaryWrite(fileBytes);
            Response.End();
         }
 
         return View("Item", list);
      }
      else
      {
         ViewBag.ErrorMessage = "Access Denied";
         return View("Item", null);
      }
   }