private void LimpiarNombreArchivo() { if (!string.IsNullOrWhiteSpace(Nombre) && Nombre.Contains("\\")) { Nombre = Nombre.Substring(Nombre.LastIndexOf("\\") + 1); } if (!string.IsNullOrWhiteSpace(Nombre) && Nombre.Contains("/")) { Nombre = Nombre.Substring(Nombre.LastIndexOf("/") + 1); } }
//[HttpPost] public ActionResult Carga() { try { string fileLocation = Server.MapPath("/Content/PLD_ FT actualizadas a 28 de junio de 2018.xlsx"); string fileExtension = Path.GetExtension(fileLocation); string excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\""; //Avaluacion del tipo de extención del documento. if (fileExtension == ".xls") { //Se asigna la cadena de conexion para la extencion xls excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\""; } //Avaluacion del tipo de extención del documento. else if (fileExtension == ".xlsx") { //Se asigna la cadena de conexion para la extencion xlsx excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\""; } OleDbConnection excelConnection = new OleDbConnection(excelConnectionString); excelConnection.Open(); DataTable dt = new DataTable(); dt = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); String[] excelSheets = new String[dt.Rows.Count]; int t = 0; foreach (DataRow row in dt.Rows) { //Se obtiene el nombre de cada una de las hojas/tablas excelSheets[t] = row["TABLE_NAME"].ToString(); t++; } excelConnection.Close(); string HojaASubir = ""; foreach (string Nombre in excelSheets) { if (Nombre.Contains("PEPs candidatos")) { HojaASubir = Nombre; } } DataSet Hoja = GenerarDataset(excelConnectionString, HojaASubir); foreach (DataTable Tabla in Hoja.Tables) { foreach (DataRow Fila in Tabla.Rows) { Persona per = new Persona(); for (int n = 0; n < Tabla.Columns.Count; n++) { switch (Tabla.Columns[n].ColumnName) { case "NOMBRE (S)": per.Nombre = Fila[Tabla.Columns[n].ColumnName].ToString(); break; case "APELLIDO PATERNO": per.ApellidoP = Fila[Tabla.Columns[n].ColumnName].ToString(); break; case "APELLIDO MATERNO": per.ApellidoM = Fila[Tabla.Columns[n].ColumnName].ToString(); break; } } DateTime FechaActual = DateTime.Today; per.InfAdicionalID = 1; per.CURP = "Publica"; per.FechaNacimiento = FechaActual; per.RFC = "Publica"; db.Persona.Add(per); db.SaveChanges(); } } } catch (Exception ex) { string Error = ex.Message; } return(View("Index")); }