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.
Excel
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
- Crea un nuevo proyecto de Visual Studio.
- Instalar la biblioteca requerida.
- Ahora podemos importar un archivo de Excel y convertirlo en un DataTable o recuperar datos.
- Conectar a la base de datos SQL.
- Guardar los datos importados en la tabla de la base de datos.
- 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:
- Data handling: IronXL makes it easy to read, write, and manipulate data in Excel spreadsheets. Se puede usar una matriz bidimensional para recuperar celdas, y son posibles los cálculos, las fórmulas y el formato de datos.
- Excel file creation and altering: In addition to generating new Excel files and altering ones that already exist, developers may also add, remove, and manage worksheets. También pueden trabajar con muchos componentes de Excel.
- Cross-platform compatibility: IronXL may be utilized in a range of application scenarios and is compatible with multiple .NET platforms, including Xamarin, .NET Core, and .NET Framework, thanks to its cross-platform interoperability.
- Versatility and compatibility: It supports both the older XLS and the more modern XLSX Excel formats and is compatible with several Excel versions.
- Support for legacy and modern Excel formats: It can support both more contemporary XML-based formats (XLSX, which dates back to Excel 2007) and more traditional Excel file formats (XLS, which dates back to Excel 97–2003).
- Usefulness: By offering a straightforward API with easily understood properties and functions, the library makes Excel-related activities more accessible to developers with varying degrees of experience.
- Data extraction and export: IronXL facilitates the extraction of data from Excel files and the export of Excel data to several formats, making it simple to interface with databases and other systems.
- Documentation and support: IronXL provides a wealth of documentation, tutorials, and support to assist developers in using its library for Excel-related tasks.
- Automation and efficiency: By automating Excel tasks, IronXL enables users to be more productive, spend less time on manual labor, and develop data-driven, efficient applications.
- Integration & customization: It makes it easier to create personalized reports or data-driven solutions by providing choices for exporting Excel data into a variety of formats. 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:
- Launch Visual Studio: Open Visual Studio (make sure your PC has Visual Studio installed).
Iniciar un nuevo proyecto
Seleccione Archivo, luego Nuevo, luego Proyecto.

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".

Seleccione el lugar donde desea guardar el proyecto.
Para iniciar un nuevo proyecto de aplicación de consola, haga clic en "Crear".

Instalación de la biblioteca IronXL
Para instalar la biblioteca IronXL, sigue estos pasos:
- Abra la Consola del Administrador de Paquetes NuGet yendo a Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes.
- Use el siguiente comando para instalar la biblioteca IronXL:
Install-Package IronXL.Excel

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.

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
Using its API, IronXL provides a convenient method for loading Excel files (WorkBook.Load) and retrieving their contents, allowing iteration through rows and cells. 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.

Next, the program connects to the SQL Server database using a connection string and the System.Data.SqlClient namespace. Las consultas SQL INSERT se preparan para insertar los datos de Excel en la tabla SQL correspondiente. The program uses parameterized SQL commands (SqlCommand) to insert the Excel data into the SQL database by mapping the retrieved cell values to the appropriate SQL query parameters and executing the INSERT command using command.ExecuteNonQuery().

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.



