Example #1
0
        public ActionResult ExportExcel(int pageIndex, int pageSize, ListFilterParam list, string filter = "")
        {
            filter = filter.Replace("!!", "%");
            DataTable dt = new DataTable("Grid");

            dt.Columns.AddRange(new DataColumn[9]
            {
                new DataColumn(AppRes.AccountNumber),
                new DataColumn(AppRes.CustomerCode),
                new DataColumn(AppRes.TransferFrom),
                new DataColumn(AppRes.TransferTo),
                new DataColumn(AppRes.Month),
                new DataColumn(AppRes.SpendingLastMonth),
                new DataColumn(AppRes.AssignedSpending),
                new DataColumn(AppRes.ModifiedBy),
                new DataColumn(AppRes.ModifiedDate)
            });
            dt.Columns[0].DataType = typeof(string);
            dt.Columns[1].DataType = typeof(string);
            dt.Columns[2].DataType = typeof(string);
            dt.Columns[3].DataType = typeof(string);
            dt.Columns[4].DataType = typeof(string);
            dt.Columns[5].DataType = typeof(double);
            dt.Columns[6].DataType = typeof(double);
            dt.Columns[7].DataType = typeof(string);
            dt.Columns[8].DataType = typeof(string);


            var db    = new CustomerTransferHistoryDAL();
            int?total = 0;
            TableColumnsTotal totalColumns = new TableColumnsTotal();
            var baseListParam = new BaseListParam()
            {
                FilterField  = filter,
                OrderByField = "",
                UserType     = Global.CurrentUser.RoleId,
                UserId       = Global.CurrentUser.LoginUserId,
                DeptId       = Global.CurrentUser.OrganizationUnitID,
                LanguageCode = Global.CurrentUser.CurrentLanguageID.ToString()
            };

            list.FromDate = Convert.ToDateTime(DateTime.ParseExact(list.StringFromDate, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture));
            list.ToDate   = Convert.ToDateTime(DateTime.ParseExact(list.StringToDate, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture));
            var lstData = db.getCustomerTransferHistoryForExcel(baseListParam, list, Global.CurrentUser.CurrencyTypeID ?? 0, out total, out totalColumns);

            foreach (var item in lstData)
            {
                dt.Rows.Add(
                    item.AccountNumber ?? "",
                    item.CustomerCode ?? "",
                    item.TranferFrom ?? "",
                    item.TranferTo ?? "",
                    item.Month ?? "",
                    item.Amount,
                    item.AmountAssign,
                    item.CreateBy ?? "");
            }

            var wb = new XLWorkbook();

            wb.Worksheets.Add(dt);
            byte[] data = null;
            using (var stream = new MemoryStream())
            {
                wb.SaveAs(stream);
                data = stream.ToArray();
            }
            var excelName = "";

            excelName = "CustomerTransferHistory.xlsx";
            return(File(data, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", excelName));
        }