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)); }
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")); }