Пример #1
0
        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);
            }
        }
Пример #2
0
        //[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"));
        }