USO DE IRONXL

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET

Actualizado 27 de enero, 2024
Compartir:

Introducción

Dos herramientas eficaces de administración y análisis son las bases de datos SQL y Excel, cada una con funciones y capacidades especiales.

Excel

Excel es un popular programa de hojas de cálculo creado por Microsoft. Su interfaz de fácil manejo y su adaptabilidad a la hora de gestionar distintas actividades de organización, cálculo, análisis y visualización de datos le han granjeado una gran reputación. Los usuarios pueden introducir datos en celdas de hojas de Excel dispuestas en filas y columnas, realizar operaciones matemáticas y elaborar cuadros, gráficos y tablas dinámicas para resumir y analizar datos o importar datos de Excel. Excel es una herramienta muy utilizada por particulares, empresas y organizaciones para muchos fines, como el análisis financiero, la gestión de inventarios, la elaboración de informes y la presupuestación.

SQL

Los datos estructurados se almacenan, gestionan y recuperan mediante bases de datos compatibles con SQL. (Lenguaje de consulta estructurado). Su base es el modelo relacional, y están formados por tablas con filas y columnas. Los usuarios pueden crear, modificar y consultar bases de datos mediante comandos SQL y bases de datos SQL como MySQL, PostgreSQL, SQL Server y SQLite. Estas bases de datos ofrecen una gran capacidad de recuperación y manipulación de datos, escalabilidad y garantía de integridad.

En este artículo, vamos a ver cómo VB.NET importa archivos Excel en la tabla de base de datos SQL Server sin utilizar el proveedor Microsoft.ACE.OLEDB.12.0.

Cómo utilizar VB.NET para importar archivos Excel a una base de datos SQL

  1. Cree un nuevo proyecto de Visual Studio.
  2. Instale la biblioteca necesaria.
  3. Ahora podemos importar un archivo Excel y convertirlo en una DataTable o recuperar datos.
  4. Conéctese a la base de datos SQL.
  5. Guarde los datos importados en la tabla de la base de datos.
  6. Cierra la conexión SQL y elimina el objeto.

Qué es IronXL

Un potente marco .NET llamado IronXL se creó para facilitar el manejo de archivos Excel escritos en C#, VB.NET, Visual Basic y otros lenguajes .NET. Es compatible con los formatos de archivo XLS y XLSX. Esta biblioteca facilita y agiliza a los desarrolladores la escritura, lectura, edición y generación de hojas de cálculo Excel. También dispone de una amplia gama de herramientas y funciones.

Entre las principales características y funciones de IronXL se incluyen:

  • Manipulación de datos: IronXL facilita la lectura, escritura y manipulación de datos en hojas de cálculo Excel. Se puede utilizar una matriz bidimensional para recuperar celdas, y es posible realizar cálculos, fórmulas y formatear datos.
  • Creación y modificación de archivos Excel: Además de generar nuevos archivos Excel y alterar los ya existentes, los desarrolladores también pueden añadir, eliminar y gestionar hojas de cálculo. También pueden trabajar con muchos componentes de Excel.
  • IronXL puede utilizarse en una amplia gama de escenarios de aplicación y es compatible con múltiples plataformas .NET, incluidas Xamarin, .NET Core y .NET Framework, gracias a su interoperabilidad multiplataforma.
  • Versatilidad y compatibilidad: Admite tanto el antiguo formato XLS como el más moderno XLSX Excel y es compatible con varias versiones de Excel.
  • Compatible con formatos Excel antiguos y modernos: Es compatible con los formatos más actuales basados en XML. (XLSX, que data de Excel 2007) y formatos de archivo Excel más tradicionales (XLS, que data de Excel 97-2003).
  • Utilidad: Al ofrecer una API sencilla con propiedades y funciones fáciles de entender, la biblioteca hace que las actividades relacionadas con Excel sean más accesibles para desarrolladores con distintos grados de experiencia.
  • Extracción y exportación de datos: IronXL facilita la extracción de datos de archivos Excel y la exportación de datos Excel a varios formatos, lo que simplifica la interfaz con bases de datos y otros sistemas.
  • Documentación y soporte: IronXL proporciona abundante documentación, tutoriales y soporte para ayudar a los desarrolladores a utilizar su biblioteca para tareas relacionadas con Excel.
  • Automatización y eficiencia: Al automatizar las tareas de Excel, IronXL permite a los usuarios ser más productivos, dedicar menos tiempo al trabajo manual y desarrollar aplicaciones eficientes basadas en datos.
  • Integración y personalización: Facilita la creación de informes personalizados o soluciones basadas en datos al ofrecer opciones para exportar datos de Excel a diversos formatos. También funciona bien con bases de datos y otros sistemas.

    La financiación, el análisis de datos, la elaboración de informes, la inteligencia empresarial y el desarrollo de software son sólo algunos de los numerosos campos que emplean IronXL. Permite a los desarrolladores trabajar con archivos Excel mediante programación y producir soluciones fiables que combinan la integración de Excel con la manipulación de datos. Haga clic en aquí para saber más.

Crear un nuevo proyecto de Visual Studio

Es fácil crear un proyecto de consola de Visual Studio. Para crear una aplicación de consola en Visual Studio, siga estos pasos:

  1. Inicie Visual Studio: Abrir Visual Studio (asegúrese de que su PC tiene instalado Visual Studio).

Iniciar un nuevo proyecto

Seleccione Archivo, luego Nuevo, luego Proyecto.

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET: Figura 1 - Aplicación de Consola

Seleccione su lenguaje de programación preferido, como C#, en el panel izquierdo del cuadro "Crear un nuevo proyecto".

A continuación, de la lista de plantillas de proyecto disponibles, elija "Aplicación de consola " o "Aplicación de consola (.NET Core)" plantilla.

Dé un nombre a su proyecto rellenando la sección "Nombre ".

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET: Figura 2 - Configuración del Proyecto

Seleccione el lugar donde debe guardarse el proyecto.

Para iniciar un nuevo proyecto de aplicación de consola, haga clic en "Crear ".

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET: Figura 3 - Crear aplicación de consola

Instalación de la biblioteca IronXL

Para instalar la biblioteca IronXL, siga estos pasos:

  1. Abra la consola del gestor de paquetes NuGet accediendo a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.
  2. Utilice el siguiente comando para instalar la biblioteca IronXL:
Install-Package IronXL.Excel

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET: Figura 4 - Instalar IronXL

También puede instalar la biblioteca IronXL mediante el gestor de paquetes NuGet. Sólo tienes que buscar el paquete "IronXL" y elegir cuál de los paquetes NuGet asociados a IronXL quieres descargar de la lista.

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET: Figura 5 - IronXL

IronXL para importar y añadir a la base de datos SQL

Estos procedimientos se pueden utilizar para importar datos desde un archivo de Excel utilizando IronXL y luego añadirlos a una base de datos SQL utilizando VB.NET. Este ejemplo muestra cómo utilizar IronXL para leer un archivo de Excel e insertar los datos en una base de datos SQL Server.

Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
VB.NET

A través de su API, IronXL proporciona un método práctico para cargar archivos de Excel (WorkBook.Load) y recuperar su contenido, permitiendo la iteración a través de filas y celdas (Objetos ExcelRow y `ExcelCell).

El programa lee los datos del archivo de Excel utilizando IronXL, recupera los valores de las celdas de cada fila y los almacena en estructuras de datos adecuadas para su posterior procesamiento.

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET: Figura 6 - Archivo Excel

A continuación, el programa se conecta a la base de datos SQL Server utilizando una cadena de conexión y el espacio de nombres System.Data.SqlClient. A continuación, se preparan las consultas SQL INSERT para insertar los datos de Excel en la tabla SQL correspondiente. El programa utiliza comandos SQL parametrizados (ComandoSql) para insertar los datos de Excel en la base de datos SQL asignando los valores de celda recuperados a los parámetros de consulta SQL adecuados y ejecutando el comando INSERT mediante command.ExecuteNonQuery().

Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET: Figura 7 - SQL Server

Para saber más sobre el código, consulte aquí.

Conclusión

La biblioteca IronXL, que es una biblioteca de objetos de Excel, se utiliza ampliamente en varios sectores, como el desarrollo de software, las finanzas, el análisis de datos y la elaboración de informes. Es una herramienta esencial para empresas y desarrolladores que buscan maximizar sus operaciones utilizando Excel. IronXL permite crear aplicaciones dinámicas centradas en los datos que gestionan archivos Excel de forma eficaz y programática.

En resumen, el uso de IronXL en una aplicación VB.NET permite transferir datos sin problemas desde archivos Excel a bases de datos SQL, lo que proporciona eficacia y flexibilidad en la gestión de datos en ambas plataformas. IronXL ofrece una edición Community gratuita con limitaciones para uso no comercial. Las versiones de pago, a partir de $599, pueden adquirirse a través de modelos de licencia por suscripción o perpetuos y proporcionan características adicionales, soporte y funcionalidad completa. Visite la página oficial de IronXL sitio web para obtener información completa y actualizada sobre licencias. Para obtener más información sobre los productos de Iron Software, visite este enlace enlace.

< ANTERIOR
Cómo convertir un archivo Excel a XML en C#
SIGUIENTE >
Cómo importar CSV a Datatable en C#

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123