Importar Excel a SQL Server desde Web ASP: Solucionado

Transformando tus documentos Excel en un servidor SQL usando ASP

El proceso de transformar datos de una hoja de Excel en tablas de SQL Server puede parecer complicado a primera vista, pero la tecnología ASP (Active Server Pages) puede hacer que esta tarea sea sin problemas.

Configuración inicial en ASP

Antes de comenzar con la importación de datos, es necesario tener una configuración base en ASP. Asegúrate de tener la última versión de ASP instalada en tu servidor y un proyecto ASP ya configurado.

También necesitarás un archivo Excel a mano, el cual deseas importar a tu SQL Server. Este archivo debe estar accesible desde tu servidor ASP.

            const string excelFilePath = @"C:rutaalarchivodatos.xlsx";
        

Conectarse a SQL Server desde ASP

Una vez que hayas preparado todo, el primer paso para importar datos de Excel a SQL Server a través de ASP es establecer una conexión con tu SQL Server. Puedes lograrlo utilizando la clase SqlConnection en ASP:

            string connectionString = @"Data Source=(local);Initial Catalog=NombreDeTuBD;Integrated Security=True";
            SqlConnection sqlConn = new SqlConnection(connectionString);
            sqlConn.Open();
        

Preparar los datos de Excel en ASP

Para transferir los datos desde Excel a SQL, necesitamos abrir y leer nuestro archivo Excel utilizando la clase OleDbConnection en ASP:

            string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties='Excel 12.0 Xml;HDR=YES;'";
            OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
            excelConnection.Open();
        

Importar datos de Excel a SQL Server

Con las conexiones abiertas a nuestro archivo Excel y servidor SQL, podemos proceder a transferir los datos. Primero, seleccionamos los datos de la hoja de Excel utilizando un comando OleDbCommand:

            OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Hoja1$]", excelConnection);
        

Luego, leemos los datos seleccionados en un OleDbDataReader:

            OleDbDataReader dReader;
            dReader = cmd.ExecuteReader();
        

Finalmente, importamos los datos leídos a nuestro SQL Server utilizando el método SqlBulkCopy.WriteToServer:

            using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(sqlConn))
            {
                sqlBulkCopy.DestinationTableName = "NombreDeTuTabla"; 
                sqlBulkCopy.WriteToServer(dReader);
            }
        

Manejando excepciones y cierre de conexiones

Además de los pasos anteriores, siempre es buena práctica manejar posibles excepciones que puedan surgir al leer o importar los datos. Esto se puede hacer utilizando declaraciones try-catch:

            try
            {
                sqlBulkCopy.WriteToServer(dReader);
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        

También es importante cerrar nuestras conexiones una vez que hayamos terminado con la importación:

            dReader.Close();
            excelConnection.Close();
            sqlConn.Close();
        

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad