Saltar al pie de página
USANDO IRONXL
Cómo importar un archivo Excel en una base de datos SQL en VB NET

Cómo importar un archivo de Excel a una base de datos SQL en VB.NET

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

Sobresalir

Excel es un programa de hojas de cálculo popular creado por Microsoft. Su interfaz amigable y la adaptabilidad en la gestión de diferentes actividades de organización, cálculo, análisis y visualización de datos le han ganado una reputación. Los usuarios pueden ingresar datos en las celdas de la hoja de Excel organizadas en filas y columnas, realizar operaciones matemáticas y producir gráficos, tablas y tablas dinámicas para resumir y analizar datos o importar datos desde Excel. Excel es una herramienta ampliamente utilizada entre individuos, corporaciones y organizaciones para muchos propósitos, como análisis financiero, gestión de inventarios, informes y presupuestos.

SQL

Los datos estructurados se almacenan, gestionan y recuperan utilizando bases de datos que soportan SQL (Lenguaje de Consulta Estructurada). Su fundamento es el modelo relacional y están compuestas por tablas con filas y columnas. Los usuarios pueden crear, cambiar y consultar bases de datos utilizando comandos SQL y bases de datos SQL como MySQL, PostgreSQL, SQL Server y SQLite. Estas bases de datos ofrecen fuertes capacidades 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 de Excel a la tabla de la base de datos SQL Server sin utilizar el proveedor Microsoft.ACE.OLEDB.12.0.

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

  1. Crea un nuevo proyecto de Visual Studio.
  2. Instalar la biblioteca requerida.
  3. Ahora podemos importar un archivo de Excel y convertirlo en un DataTable o recuperar datos.
  4. Conectar a la base de datos SQL.
  5. Guardar los datos importados en la tabla de la base de datos.
  6. Cerrar la conexión SQL y desechar el objeto.

¿Qué es IronXL?

Un potente marco de trabajo .NET llamado IronXL fue creado para facilitar el trabajo con archivos de Excel escritos en C#, VB.NET, Visual Basic y otros lenguajes .NET. Es compatible con los formatos de archivo XLS y XLSX. Esta biblioteca hace que sea más fácil y rápido para los desarrolladores escribir, leer, editar y generar hojas de cálculo de Excel. También está disponible una amplia gama de herramientas y funciones.

Las características y capacidades clave de IronXL incluyen:

  • Manejo de datos: IronXL facilita la lectura, escritura y manipulación de datos en hojas de cálculo de Excel. Se puede usar una matriz bidimensional para recuperar celdas, y son posibles los cálculos, las fórmulas y el formato de datos.
  • Creación y modificación de archivos Excel: Además de generar nuevos archivos Excel y modificar los ya existentes, los desarrolladores también pueden agregar, eliminar y administrar hojas de trabajo. También pueden trabajar con muchos componentes de Excel.
  • Compatibilidad multiplataforma: IronXL se puede utilizar en una variedad de escenarios de aplicación y es compatible con múltiples plataformas .NET, incluyendo Xamarin, .NET Core y .NET Framework, gracias a su interoperabilidad multiplataforma.
  • Versatilidad y compatibilidad: Admite tanto los formatos Excel más antiguos (XLS) como los más modernos (XLSX) y es compatible con varias versiones de Excel.
  • Soporte para formatos Excel antiguos y modernos: Puede soportar tanto formatos basados en XML más contemporáneos (XLSX, que data de Excel 2007) como formatos de archivos Excel más tradicionales (XLS, que data de Excel 97–2003).
  • Utilidad: Al ofrecer una API simple con propiedades y funciones fáciles de entender, la biblioteca hace que las actividades relacionadas con Excel sean más accesibles para desarrolladores con diferentes niveles 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 hace que la interacción con bases de datos y otros sistemas sea sencilla.
  • Documentación y soporte: IronXL proporciona una gran cantidad de 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 tareas de Excel, IronXL permite a los usuarios ser más productivos, dedicar menos tiempo al trabajo manual y desarrollar aplicaciones eficientes y basadas en datos.
  • Integración y personalización: Facilita la creación de informes personalizados o soluciones basadas en datos al proporcionar opciones para exportar datos de Excel en una variedad de formatos. También funciona bien con bases de datos y otros sistemas.

Financiamiento, análisis de datos, informes, inteligencia de negocios y desarrollo de software son solo algunos de los numerosos campos que emplean IronXL. Permite a los desarrolladores trabajar con archivos de Excel programáticamente y producir soluciones confiables que combinan la integración de Excel con la manipulación de datos. Haga clic 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. Iniciar Visual Studio: Abra Visual Studio (asegúrese de que su PC tenga instalado Visual Studio).

Iniciar un nuevo proyecto

Seleccione Archivo, luego Nuevo, luego Proyecto.

Cómo importar un archivo de Excel a la base de datos SQL en VB .NET: Figura 1 - App de Consola

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

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

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

Cómo importar un archivo de Excel a la base de datos SQL en VB .NET: Figura 2 - Configuración del Proyecto

Seleccione el lugar donde desea guardar el proyecto.

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

Cómo importar un archivo de Excel a la 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, sigue estos pasos:

  1. Abra la Consola del Administrador de Paquetes NuGet yendo a Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes.
  2. Use el siguiente comando para instalar la biblioteca IronXL:
Install-Package IronXL.Excel

Cómo importar un archivo de Excel a la base de datos SQL en VB .NET: Figura 4 - Instalar IronXL

Alternativamente, también puede instalar la biblioteca IronXL usando el Administrador de Paquetes NuGet. Solo busque el paquete "IronXL" y elija cuál de los paquetes NuGet asociados con IronXL desea descargar de la lista.

Cómo importar un archivo de Excel a la base de datos SQL en VB .NET: Figura 5 - IronXL

IronXL para importar y agregar a la base de datos SQL

Estos procedimientos pueden utilizarse para importar datos desde un archivo de Excel usando IronXL y luego añadirlos a una base de datos SQL utilizando VB.NET. Este ejemplo demuestra cómo usar 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())

        ' Define the path to the Excel file
        Dim excelFilePath As String = "Demo.xlsx"

        ' Define the connection string to connect to the SQL Server database
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

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

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

            ' Iterate through rows and insert data into SQL database
            For Each row As DataRow In worksheet.ToDataTable().AsEnumerable()

                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell.ToString())
                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())

        ' Define the path to the Excel file
        Dim excelFilePath As String = "Demo.xlsx"

        ' Define the connection string to connect to the SQL Server database
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

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

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

            ' Iterate through rows and insert data into SQL database
            For Each row As DataRow In worksheet.ToDataTable().AsEnumerable()

                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell.ToString())
                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

Usando su API, IronXL proporciona un método conveniente para cargar archivos de Excel (WorkBook.Load) y recuperar su contenido, permitiendo la iteración a través de filas y celdas. Este código importa datos del archivo de Excel e inserta en una base de datos SQL, aprovechando las estructuras de datos y conexiones para un procesamiento de datos efectivo.

Cómo importar un archivo de Excel a la 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. Las consultas SQL INSERT se preparan para insertar los datos de Excel en la tabla SQL correspondiente. El programa usa comandos SQL parametrizados (SqlCommand) para insertar los datos de Excel en la base de datos SQL mapeando los valores de celda recuperados a los parámetros de consulta SQL adecuados y ejecutando el comando INSERT utilizando command.ExecuteNonQuery().

Cómo importar un archivo de Excel a la base de datos SQL en VB .NET: Figura 7 - SQL Server

Para obtener más información sobre el código, consulte aquí.

Conclusión

La biblioteca IronXL, que es una biblioteca de objetos de Excel, es ampliamente utilizada por varias industrias, incluyendo desarrollo de software, finanzas, análisis de datos e informes. Es una herramienta esencial para empresas y desarrolladores que buscan maximizar sus operaciones utilizando Excel. IronXL permite la creación de aplicaciones dinámicas y centradas en datos que gestionan archivos de Excel de manera eficiente y programática.

En resumen, el uso de IronXL en una aplicación VB.NET permite la transferencia de datos sin problemas desde archivos de Excel a bases de datos SQL, proporcionando eficiencia y flexibilidad en la gestión de datos en ambas plataformas. IronXL ofrece una Edición de Comunidad gratuita con limitaciones para uso no comercial. Las versiones pagas, a partir de un precio competitivo, se pueden adquirir a través de modelos de licencias basadas en suscripción o perpetuas y proporcionan características adicionales, soporte y funcionalidad completa. Por favor, visite el sitio web oficial de IronXL para obtener información completa y actualizada sobre licencias. Para obtener más información sobre los productos de Iron Software, visite este enlace.

Preguntas Frecuentes

¿Cómo puedo importar datos de Excel en una base de datos SQL Server usando VB.NET?

Puedes importar datos de Excel en una base de datos SQL Server usando VB.NET aprovechando IronXL. Primero, crea un proyecto de Visual Studio, instala la biblioteca IronXL a través del Administrador de Paquetes NuGet, carga el archivo Excel usando la API de IronXL y conecta a la base de datos SQL para insertar datos en la tabla de la base de datos.

¿Cuáles son los beneficios de usar IronXL para la manipulación de archivos Excel en VB.NET?

IronXL proporciona una solución robusta para manejar archivos Excel en VB.NET, ofreciendo características como lectura, escritura y edición de archivos Excel. Soporta formatos XLS y XLSX, asegurando compatibilidad multiplataforma, haciéndolo ideal para integración de datos sin problemas con bases de datos SQL.

¿Puedo usar IronXL para extracción y exportación de datos de archivos Excel?

Sí, IronXL permite a los desarrolladores extraer y exportar datos de archivos Excel de manera eficiente. Soporta operaciones como leer valores de celdas específicas, iterar a través de filas y columnas, y exportar datos a otros formatos o bases de datos como SQL Server.

¿Qué pasos están involucrados en configurar IronXL en un proyecto VB.NET?

Para configurar IronXL en un proyecto VB.NET, abre tu Visual Studio, accede a la Consola del Administrador de Paquetes NuGet y ejecuta el comando Install-Package IronXL. Esto instalará las bibliotecas necesarias para manejar archivos Excel programáticamente.

¿Existe alguna forma de usar IronXL en diferentes plataformas .NET?

IronXL está diseñado para ser multiplataforma, soportando varios entornos .NET como Xamarin, .NET Core, y .NET Framework. Esto asegura que puedas usar IronXL en diferentes plataformas sin problemas de compatibilidad.

¿Qué hace de IronXL una opción popular para la integración de Excel y bases de datos SQL?

IronXL es favorecido por su facilidad de uso, características completas para la manipulación de archivos Excel, y su capacidad para integrarse sin problemas con bases de datos SQL. Simplifica el proceso de importar y exportar datos entre Excel y SQL, mejorando la productividad y eficiencia en la gestión de datos.

¿IronXL ofrece una versión gratuita, y cuáles son sus limitaciones?

IronXL ofrece una Edición Comunitaria gratuita para uso no comercial, que incluye características básicas con algunas limitaciones. Para características más avanzadas y soporte dedicado, hay disponibles versiones pagadas.

¿Cómo maneja IronXL los diferentes formatos de archivos Excel?

IronXL soporta tanto formatos de Excel heredados (XLS) como modernos (XLSX), permitiendo a los usuarios trabajar con una amplia gama de archivos Excel sin problemas de compatibilidad, haciéndolo versátil para diversas necesidades de manejo de datos.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más