public static void generarZipConArchivoCSV(DataSet ds) { DateTime date = DateTime.Now; String tempFolder = date.Date.ToString("yyyyMMdd") + date.Hour + date.Minute + date.Millisecond; String downloadPath = HttpContext.Current.Server.MapPath("~") + "\\downloads\\" + tempFolder; Directory.CreateDirectory(downloadPath); foreach (DataTable dt in ds.Tables) { String fileName = dt.TableName + "_" + tempFolder; ExcelFileUtils.createExcelCSVFile(dt, downloadPath, fileName); } String filename = "Descarga_" + date.Date.ToString("yyyyMMdd") + "_" + date.Hour + date.Minute + date.Millisecond + ".zip"; HttpContext context = HttpContext.Current; context.Response.Clear(); context.Response.ContentType = "application/zip"; context.Response.AddHeader("content-disposition", "filename=" + filename); DirectoryInfo diFiles = new DirectoryInfo(downloadPath); using (ZipFile zip = new ZipFile()) { foreach (FileInfo fi in diFiles.GetFiles()) { zip.AddFile(downloadPath + "/" + fi.Name, ""); } zip.Save(context.Response.OutputStream); } // borrar archivos dentro del directorio virtual foreach (FileInfo file in diFiles.GetFiles()) { file.Delete(); } // borrar directorio virtual diFiles.Delete(true); context.Response.End(); }
protected void Page_Load(object sender, EventArgs e) { if (Request["MOD"] == "REP_BANDACT") { Dictionary <string, string> dataJSON = JsonConvert.DeserializeObject <Dictionary <string, string> >(Request["valores"]); String fechaInicio = dataJSON["FechaInicio"].ToString(); String fechaFin = dataJSON["FechaFin"].ToString(); String canal = dataJSON["Canal"].ToString(); if (canal != string.Empty) { canal = canal.Remove(canal.Length - 1); } String zona = dataJSON["Zona"].ToString(); if (zona != string.Empty) { zona = zona.Remove(zona.Length - 1); } String tipoActividad = dataJSON["TipoActividad"].ToString(); if (tipoActividad != string.Empty) { tipoActividad = tipoActividad.Remove(tipoActividad.Length - 1); } String detalleActividad = dataJSON["DetalleActividad"].ToString(); if (detalleActividad != string.Empty) { detalleActividad = detalleActividad.Remove(detalleActividad.Length - 1); } String usuario = dataJSON["Usuario"].ToString(); if (usuario != string.Empty) { usuario = usuario.Remove(usuario.Length - 1); } String cliente = dataJSON["Cliente"].ToString(); if (cliente != string.Empty) { cliente = cliente.Remove(cliente.Length - 1); } String campo = dataJSON["Campo"].ToString(); if (campo != string.Empty) { campo = campo.Remove(campo.Length - 1); } String tipoReporte = dataJSON["TipoReporte"].ToString(); String usuaSession = HttpContext.Current.Session["lgn_id"].ToString(); //PAG String pagina = dataJSON["pagina"].ToString(); String filas = dataJSON["filas"].ToString(); if (campo == string.Empty) { campo = "[Fecha],[Canal],[Zona],[Tipo Actividad],[Sub Tipo Actividad],[Usuario],[Cliente]"; } var item = new OportunidadBean { FechaInicio = DateUtils.getStringDateYYMMDDHHMM(fechaInicio), FechaFin = DateUtils.getStringDateYYMMDDHHMM(fechaFin), Canal = canal, Zona = zona, TipoActividad = tipoActividad, DetalleActividad = detalleActividad, Usuario = usuario, Cliente = cliente, Campo = campo, TipoReporte = tipoReporte, UsuSession = usuaSession }; DataTable dt = OportunidadController.GetReporteAllPaginateExcel(item); ExcelFileSpreadsheet exportExcel = this.prepararExportacionExcelReporteOportunidades(dt); ExcelFileUtils.ExportToExcel(exportExcel, "ReporteActividad"); } if (Request["MOD"] == "REP_BANDOPORT") { Dictionary <string, string> dataJSON = JsonConvert.DeserializeObject <Dictionary <string, string> >(Request["valores"]); String FechaInicio = DateUtils.getStringDateYYMMDDHHMM(dataJSON["FechaInicio"].ToString()); String FechaFin = DateUtils.getStringDateYYMMDDHHMM(dataJSON["FechaFin"].ToString()); String Codigo = dataJSON["Codigo"].ToString(); String Coordinador = dataJSON["Coordinador"].ToString(); String Responsable = dataJSON["Responsable"].ToString(); String Estado = dataJSON["Estado"].ToString(); String Etapa = dataJSON["Etapa"].ToString(); String Rubro = dataJSON["Rubro"].ToString(); String ConfRep = dataJSON["ConfRep"].ToString(); String Cliente = dataJSON["Cliente"].ToString(); var usuSession = Session["lgn_id"].ToString(); //PAG var item = new OportunidadBean() { FechaInicio = FechaInicio, FechaFin = FechaFin, Codigo = Codigo, Responsable = Responsable, Estado = Estado, Etapa = Etapa, Rubro = Rubro, ConfRep = ConfRep, Cliente = Cliente, UsuSession = usuSession, Coordinador = Coordinador }; //1:Administrador,2:Jefe de Ventas,3:Coordinador Go2Market,4:Supervisor Venta,5:Vendedor DataTable dt = OportunidadController.GetReporteAllPaginateExcel(item); List <String> colores = new List <String>(); foreach (DataRow rowIV in dt.Rows) { if (rowIV["Retrazo"].ToString() == "T") { colores.Add("#ff6666"); } else { colores.Add(""); } } ExcelFileSpreadsheet exportExcel = this.prepararExportacionExcelReporteOportunidades(dt); ExcelFileUtils.ExportToExcelColor(exportExcel, colores, "ReporteOportunidad"); } else if (Request["MOD"] == "REP_TRACKING") { Dictionary <string, string> dataJSON = JsonConvert.DeserializeObject <Dictionary <string, string> >(Request["valores"]); String Fecha = dataJSON["Fecha"].ToString(); String JefeVenta = dataJSON["JefeVenta"].ToString(); String Supervisor = dataJSON["Supervisor"].ToString(); String Grupo = dataJSON["Grupo"].ToString(); String coordinador = ""; String Vendedor = dataJSON["Vendedor"].ToString(); String Tipo = dataJSON["Tipo"].ToString(); //PAG String pagina = "0"; String filas = "10";// dataJSON["filas"].ToString(); var item = new ReporteBean(); //1:Administrador,2:Jefe de Ventas,3:Coordinador Go2Market,4:Supervisor Venta,5:Vendedor var perfil = Session["lgn_perfil"].ToString(); if (perfil == "3") { coordinador = Session["lgn_codigo"].ToString(); } else if (perfil == "2") { JefeVenta = Session["lgn_codigo"].ToString(); } else if (perfil == "4") { Supervisor = Session["lgn_codigo"].ToString(); } //DataTable dt = TrackingController.getReporteTrackingDataTable(DateUtils.getStringDateYYMMDDHHMM(Fecha), coordinador, JefeVenta, Supervisor, Grupo, Vendedor, Tipo); //ExcelFileSpreadsheet exportExcel = this.prepararExportacionExcelReporteTracking(dt); //ExcelFileUtils.ExportToExcel(exportExcel, "ReporteTracking"); } else if (Request["MOD"] == "REP_SERVICIOS") { Int64 lsNextel = Int64.Parse(Request["Nextel"].ToString()); Int64 lsGrupo = Int64.Parse(Request["Grupo"].ToString()); string[] lsFechaInicio = (Request["FechaInicio"].ToString()).Split('/'); string[] lsHoraInicio = (Request["HoraInicio"].ToString().Equals("24:00")) ? "23:59".Split(':') : Request["HoraInicio"].ToString().Split(':'); string[] lsFechaFin = (Request["FechaFin"].ToString()).Split('/'); string[] lsHoraFin = (Request["HoraFin"].ToString().Equals("24:00")) ? "23:59".Split(':') : Request["HoraFin"].ToString().Split(':'); DateTime loDtInicio = new DateTime(Int32.Parse(lsFechaInicio[2]), Int32.Parse(lsFechaInicio[1]), Int32.Parse(lsFechaInicio[0]), Int32.Parse(lsHoraInicio[0]), Int32.Parse(lsHoraInicio[1]), 0); DateTime loDtFin = new DateTime(Int32.Parse(lsFechaFin[2]), Int32.Parse(lsFechaFin[1]), Int32.Parse(lsFechaFin[0]), Int32.Parse(lsHoraFin[0]), Int32.Parse(lsHoraFin[1]), 0); Int64 lsIdSupervisor = 0; if (Session["lgn_id"] != null) { lsIdSupervisor = Int64.Parse(Session["lgn_id"].ToString()); } String lsFlagGps = Request["FlagGps"].ToString(); String lsFlagNetwork = Request["FlagNetwork"].ToString(); String lsFlagDatos = Request["FlagDatos"].ToString(); String lsFlagWifi = Request["FlagWifi"].ToString(); //DataTable ldtServicios = ServiciosController.subReporteServiciosXLS(lsNextel, lsGrupo, loDtInicio, loDtFin, lsIdSupervisor, lsFlagGps, lsFlagNetwork, lsFlagDatos, lsFlagWifi); //ExcelFileSpreadsheet exportExcel = this.prepararExportacionExcelServicios(ldtServicios, String.Join("/", lsFechaInicio), String.Join("/", lsFechaFin)); //ExcelFileUtils.ExportToExcel(exportExcel, Model.bean.IdiomaCultura.getMensaje(Model.bean.IdiomaCultura.ETI_SUP_PLU)); } }