Esempio n. 1
0
        public JsonResult GetVisit(DataTableParameters dataTableParameters, string from)
        {
            VIST_CONTACTOR vit = new VIST_CONTACTOR();
            EMPLOYEE       em  = new EMPLOYEE();

            var resultSet = new DataTableResultSet();

            resultSet.draw = dataTableParameters.Draw;
            var lst = vit.SelectPaging(from, dataTableParameters.Start + 1,
                                       dataTableParameters.Start + dataTableParameters.Length + 1);

            resultSet.recordsTotal = resultSet.recordsFiltered = em.GetCount();

            foreach (var i in lst)
            {
                var columns = new List <string>();
                var tar     = i.tar == null ? 0 : i.tar;
                var Ratio   = tar == 0 ? 0 : Math.Round(Convert.ToDouble(i.result) / i.tar * 100, 2, MidpointRounding.ToEven).ToString();
                columns.Add("<a href='#' class='emp' data-emid='" + i.EMP_ID + "'>" + i.EMP_ID + "</a>");
                columns.Add(i.EMP_NAME.Trim());
                columns.Add(tar.ToString());
                columns.Add(i.result.ToString());
                columns.Add(i.dir.ToString());
                columns.Add(i.ca.ToString());
                columns.Add(i.email.ToString());
                columns.Add(Ratio.ToString());
                columns.Add(i.EMP_DEPT == null ? "" : i.EMP_DEPT.Trim());
                resultSet.data.Add(columns);
            }
            return(Json(resultSet));
        }
Esempio n. 2
0
        public ActionResult Export(string month)
        {
            VIST_CONTACTOR vit = new VIST_CONTACTOR();
            EMPLOYEE       em  = new EMPLOYEE();
            var            lst = vit.SelectPaging(month, 0, 1000);

            DataTable dtb = new DataTable();

            dtb.Clear();

            dtb.Columns.Add("EMP_ID");
            dtb.Columns.Add("NAME");
            dtb.Columns.Add("TARGET");
            dtb.Columns.Add("VISITED");
            dtb.Columns.Add("DIRECT");
            dtb.Columns.Add("CALL");
            dtb.Columns.Add("EMAIL");

            dtb.Columns.Add("RATIO");
            dtb.Columns.Add("TEAM");

            foreach (var i in lst)
            {
                DataRow r       = dtb.NewRow();
                var     columns = new List <string>();
                var     tar     = i.tar == null ? 0 : i.tar;
                var     Ratio   = tar == 0 ? 0 : (Convert.ToDouble(i.result) / i.tar) * 100;

                r["EMP_ID"]  = i.EMP_ID;
                r["NAME"]    = i.EMP_NAME;
                r["TARGET"]  = i.tar;
                r["VISITED"] = i.result;
                r["DIRECT"]  = i.dir;
                r["CALL"]    = i.ca;
                r["EMAIL"]   = i.email;
                r["RATIO"]   = Ratio;
                r["TEAM"]    = i.EMP_DEPT;
                dtb.Rows.Add(r);
            }
            var fileName = DateTime.Now.ToString("yyyyMMddHHmmss");
            // Gọi lại hàm để tạo file excel
            var stream = CreateExcelFile(dtb);
            // Tạo buffer memory strean để hứng file excel
            var buffer = stream as MemoryStream;

            // Đây là content Type dành cho file excel, còn rất nhiều content-type khác nhưng cái này mình thấy okay nhất
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            // Dòng này rất quan trọng, vì chạy trên firefox hay IE thì dòng này sẽ hiện Save As dialog cho người dùng chọn thư mục để lưu
            // File name của Excel này là ExcelDemo
            Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ".xlsx");
            // Lưu file excel của chúng ta như 1 mảng byte để trả về response
            Response.BinaryWrite(buffer.ToArray());
            // Send tất cả ouput bytes về phía clients
            Response.Flush();
            Response.End();
            return(RedirectToAction("Home"));
        }