public ActionResult GetExcel(CustomersQueryViewModel cond = null)
 {
     using (var wb = GetExcelFile(cond))
     {
         // Add ClosedXML.Extensions in your using declarations
         return(wb.Deliver($"ExportCustomer_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx"));
     }
 }
        private XLWorkbook GetExcelFile(CustomersQueryViewModel cond = null)
        {
            List <CustomersViewModel> list = CustomerRepo.Search(cond.Query, cond.Paging, cond.Sort).Select(x => new CustomersViewModel()
            {
                Address          = x.地址,
                ClientName       = x.客戶名稱,
                CompanyNumber    = x.統一編號,
                CustomerTypeName = x.客戶類別.類別名稱,
                Email            = x.Email,
                Fax   = x.傳真,
                Phone = x.電話,
                Id    = x.Id
            }).ToList();

            return(ClosedXmlHelper.ToClosedXmlExcel(list));
        }
        public ActionResult Index(CustomersQueryViewModel cond = null)
        {
            CustomersQueryViewModel result = new CustomersQueryViewModel();

            if (cond == null)
            {
                //預設排序
                result.Sort.Column = "Id";
                result.Sort.Sort   = "desc";
            }
            var customerList = CustomerRepo.Search(cond.Query, cond.Paging, cond.Sort).Select(x => new CustomersViewModel()
            {
                Address          = x.地址,
                ClientName       = x.客戶名稱,
                CompanyNumber    = x.統一編號,
                CustomerTypeName = x.客戶類別.類別名稱,
                Email            = x.Email,
                Fax   = x.傳真,
                Phone = x.電話,
                Id    = x.Id
            });

            result.Paging.Count     = CustomerRepo.SearchCount(cond.Query);
            result.Customers        = new StaticPagedList <CustomersViewModel>(customerList, cond.Paging.Page, cond.Paging.Take, result.Paging.Count);
            result.CustomerTypeList = CustomerTypeRepo.All().ToList().Select(x => new SelectListItem()
            {
                Text     = x.類別名稱,
                Value    = x.Id.ToString(),
                Selected = cond != null ?
                           cond.Query.CustomerTypeId.HasValue ?
                           x.Id == cond.Query.CustomerTypeId.Value ? true : false
                               : false
                           : false
            }).ToList();
            result.Paging.Take = cond.Paging.Take;
            result.Query       = cond.Query;
            return(View(result));
        }