USO DE IRONXL

Leer datos de Excel e insertarlos en una base de datos con C#

Chaknith Bin
Chaknith Bin
1 de mayo, 2023
Actualizado 24 de marzo, 2024
Compartir:

Este artículo explorará cómo utilizar IronXL, una librería de Excel en C#, para leer datos de un archivo de Excel e insertarlos en una tabla de base de datos.

1. IronXL

IronXL es una potente biblioteca de software diseñada para desarrolladores .NET, que les proporciona una API fácil de usar para leer, escribir y manipular archivos Excel en sus aplicaciones .NET. Ofrece un conjunto completo de funciones para crear, editar y exportar hojas de cálculo de Excel, todo sin requerir que Microsoft Office o Excel estén instalados en la máquina de destino. Con soporte para una amplia gama de formatos de archivo, incluidos XLS, XLSX, CSV, TSV y más, esta biblioteca facilita a los desarrolladores la creación de aplicaciones basadas en Excel que se pueden implementar en cualquier lugar. IronXL también ofrece características avanzadas como la creación de gráficos, visualización de datos y análisis de datos para agilizar el proceso de desarrollo de proyectos de pequeña a gran escala.

2. Requisitos previos

Antes de poder utilizar la biblioteca IronXL para escribir en una base de datos desde un archivo Excel, debe cumplir ciertos requisitos previos. Entre ellas figuran:

  • Tener Visual Studio instalado en el ordenador para crear un proyecto C#.
  • Asegúrese de que ASP.NET también está instalado en su sistema antes de crear un proyecto C#.
  • Instalación de la biblioteca IronXL en su sistema para exportar datos. Puedes obtenerlo descargando el paquete NuGet de IronXL desde el gestor de paquetes NuGet en Visual Studio.
  • Tener instalado SQL en Visual Studio.

3. Creación de un nuevo proyecto en Visual Studio

Antes de poder utilizar la biblioteca IronXL para realizar operaciones relacionadas con Excel, debe crear un proyecto .NET en Visual Studio. Aunque cualquier versión de Visual Studio es compatible, se recomienda utilizar la última versión disponible. Puede elegir entre varias plantillas de proyecto, como Windows Forms y ASP.NET, en función de los requisitos de su proyecto. Para este tutorial, se recomienda la plantilla de proyecto Aplicación de Consola para demostrar cómo trabajar con IronXL.

Cómo leer datos de Excel e insertarlos en una tabla de base de datos en C#, Figura 1: Ventana de creación de un nuevo proyecto

Crear un nuevo proyecto

Una vez elegido el tipo de proyecto, hay que darle un nombre y seleccionar su ubicación. También puede especificar el marco preferido, como .NET Core 6, para el proyecto.

Cómo Leer Datos de Excel e Insertarlos en una Tabla de Base de Datos en C#, Figura 2: Configuración del proyecto

Configuración del proyecto

Una vez creado el nuevo proyecto, puede acceder al archivo program.cs donde puede escribir código y ejecutar la aplicación.

Cómo leer datos de Excel e insertar en una tabla de base de datos en C#, Figura 3: Proyecto con código abierto

Proyecto con código abierto

Ahora que el proyecto de Visual Studio está creado, vamos a instalar IronXL.

4. Instalar IronXL

La librería IronXL puede ser descargada e instalada de diferentes maneras, pero para este artículo, se cubrirán los dos métodos más simples:

  • Uso de paquetes NuGet en Visual Studio.
  • Uso de la línea de comandos de Visual Studio.

4.1 Utilización de Visual Studio

Para instalar la biblioteca IronXL, lo primero es utilizar el gestor de paquetes NuGet en Visual Studio. Simplemente abre el Gestor de paquetes NuGet y busca IronXL en la pestaña Examinar. Una vez localizado IronXL en los resultados de la búsqueda, selecciónalo y procede con la instalación. Una vez finalizada la instalación, puede empezar a utilizar la biblioteca IronXL en su proyecto.

La siguiente captura de pantalla muestra cómo abrir el gestor de paquetes NuGet en Visual Studio.

Cómo Leer Datos de Excel e Insertarlos en una Tabla de Base de Datos en C#, Figura 4: Administrador de Paquetes NuGet

Administrador de paquetes NuGet

La siguiente captura de pantalla muestra IronXL en los resultados de la búsqueda:

Cómo leer datos de Excel e insertarlos en una tabla de base de datos en C#, Figura 5: resultado de búsqueda de IronXL

Resultado de búsqueda de IronXL

4.2 Uso de la línea de comandos de Visual Studio

Muchos desarrolladores prefieren instalar paquetes mediante una interfaz de línea de comandos. Para instalar IronXL utilizando la línea de comandos, siga estos pasos:

  • En Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.
  • Introduzca la siguiente línea en la pestaña Consola del gestor de paquetes:
  :ProductInstall

El paquete se descargará e instalará en el proyecto actual.

Cómo leer datos de Excel e insertar en la tabla de la base de datos en C#, Figura 6: Instalación a través de la línea de comandos

Instalación a través de la línea de comandos

5. Instalación y configuración de la base de datos SQL Server

Para instalar e integrar la tabla de la base de datos SQL Server con tu proyecto C#, primero, ve al Administrador de Paquetes NuGet, busca System.Data.SqlClient` y instálalo.

Cómo leer datos de Excel e insertar en la tabla de base de datos en C#, Figura 7: Buscar e instalar SqlClient en la interfaz de usuario del Administrador de paquetes NuGet

Buscar e instalar SqlClient en el Administrador de paquetes NuGet

Una vez instalado, vaya al menú del proyecto y haga clic en "Añadir nuevo elemento".

Cómo Leer Datos de Excel e Insertar en una Tabla de Base de Datos en C#, Figura 8: Agregar Nuevo Elemento

Agregar nuevo elemento

Aparecerá una nueva ventana. Seleccione datos en el menú lateral y, a continuación, haga clic en Base de datos basada en servicios de la lista. Escriba un nombre apropiado para la base de datos y haga clic en el botón Añadir.

Cómo leer datos de Excel e insertarlos en una tabla de base de datos en C#, Figura 9: Seleccionar base de datos basada en servicio

Seleccionar base de datos basada en servicios

A continuación, en el Explorador de soluciones, haga clic con el botón derecho del ratón en la base de datos recién creada y seleccione "Abrir". Se abrirá una nueva barra lateral.

Cómo leer datos de Excel e insertarlos en una tabla de base de datos en C#, Figura 10: Haga clic con el botón derecho y seleccione Abrir

Haga clic derecho y seleccione Abrir

En la nueva barra lateral, haga clic en su base de datos y vaya a sus propiedades. A partir de ahí, copie la cadena de conexión.

Cómo leer datos de Excel e insertarlos en una tabla de base de datos en C#, Figura 11: Haga clic derecho y seleccione Propiedades

Haga clic derecho y seleccione Propiedades

Cómo leer datos de Excel e insertarlos en una tabla de base de datos en C#, Figura 12: Manejar la cadena de conexión

Manejar la cadena de conexión

Después de copiar las preferencias de conexión, haga clic en su instancia de base de datos para abrir una nueva lista. Haga clic con el botón derecho en la carpeta de tablas y seleccione "Añadir nueva tabla".

Cómo leer datos de Excel e insertar en la tabla de la base de datos en C#, Figura 13: Añadir nueva tabla

Agregar nueva tabla

Para crear una nueva tabla en la base de datos, siga estos pasos:

  1. Abra una nueva página de diseño de tabla de datos.

  2. Agregue la siguiente consulta SQL, que creará una nueva tabla con tres columnas: Id, Name y Number.

  3. Pulse el botón "Actualizar" en la parte superior de la página.

  4. La tabla recién generada se añadirá a la base de datos.
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] varchar(100) NOT NULL,
  [number] INT
)
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] varchar(100) NOT NULL,
  [number] INT
)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'CREATE TABLE [dbo].[Table] ([Id] INT @NOT NULL PRIMARY KEY, [Name] varchar(100) @NOT NULL, [number] INT)
$vbLabelText   $csharpLabel

Ahora que el entorno SQL está configurado, vamos a crear algunos datos de ejemplo para llenar esta base de datos a partir de datos de Excel.

Cómo leer datos de Excel e insertar en la tabla de la base de datos en C#, Figura 14: datos del archivo Excel

Datos de archivo de Excel

6. Importar datos de archivos Excel y exportarlos a una base de datos mediante IronXL

Con IronXL, los desarrolladores pueden automatizar el proceso de transferencia de datos entre archivos Excel y bases de datos, lo que puede ahorrar una cantidad significativa de tiempo y esfuerzo. Al utilizar IronXL, los desarrolladores pueden agilizar su flujo de trabajo y eliminar la necesidad de introducir datos manualmente, garantizando que los datos sean precisos y estén actualizados.

Una vez configurado el servidor SQL y copiada la cadena de conexión, sólo tienes que pegar la cadena de conexión en el código siguiente, enlazar tu archivo Excel con el código y cambiar la consulta SQL si es necesario. A continuación, basta con ejecutar el código y los datos se exportarán a la tabla de la base de datos.

using IronXL;
using System.Data;
using System.Data.SqlClient;

WorkBook workBook = WorkBook.Load("book.xlsx");

DataSet dataSet = workBook.ToDataSet();

string sql = "SELECT * FROM [dbo].[Table]";

string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
using IronXL;
using System.Data;
using System.Data.SqlClient;

WorkBook workBook = WorkBook.Load("book.xlsx");

DataSet dataSet = workBook.ToDataSet();

string sql = "SELECT * FROM [dbo].[Table]";

string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Private workBook As WorkBook = WorkBook.Load("book.xlsx")

Private dataSet As DataSet = workBook.ToDataSet()

Private sql As String = "SELECT * FROM [dbo].[Table]"

Private connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"

Using connection As New SqlConnection(connectionString)
	connection.Open()
	Dim adapter As New SqlDataAdapter(sql, connection)
	adapter.Update(dataSet)
End Using
$vbLabelText   $csharpLabel

Para comprobar si los datos se han exportado correctamente a la base de datos, vuelva a hacer clic con el botón derecho del ratón en el directorio de tablas y haga clic en "Nueva consulta". Se abrirá una nueva página, seleccione su base de datos en la barra superior y ejecute la consulta SQL adecuada para recuperar los datos.

SELECT * FROM [dbo].[Table]

Pulse el botón verde y el resultado se mostrará en un segundo.

Cómo Leer Datos de Excel e Insertarlos en una Tabla de Base de Datos en C#, Figura 15: Datos de la base de datos

Datos de la base de datos

Así es como se pueden escribir datos importados de un archivo de Microsoft Excel en una base de datos.

7. Conclusión

Trabajar con hojas de cálculo de Excel es una tarea habitual en muchas aplicaciones, y la inserción de datos de una hoja de Excel en una tabla de una base de datos puede agilizar los procesos de gestión de datos. Una forma de conseguir esta tarea en C# es utilizando librerías que permiten leer y manipular ficheros Excel, como IronXL. Utilizando esta biblioteca, los desarrolladores pueden extraer fácilmente datos de una hoja de Excel e insertarlos en una tabla de una base de datos, lo que simplifica el proceso de gestión de datos y reduce las posibilidades de error. Este artículo cubre los pasos necesarios para agregar datos desde un archivo Excel a una tabla SQL Server en una base de datos SQL Server utilizando la biblioteca IronXL. También proporciona una breve introducción a la biblioteca IronXL, discute los requisitos previos necesarios para insertar datos y describe cómo crear un nuevo proyecto en Visual Studio, instalar IronXL y configurar una base de datos SQL Server. Por favor, visite el siguiente tutorial para aprender a leer archivos Excel en C#.

Además, IronXL también ofrece funciones avanzadas, incluyendo soporte para el formato de celdas como alineación de texto, tamaño de fuente, color, panel congelado, agregar fórmulas, aplicación de formato condicional y encriptación con contraseña.

Los usuarios también pueden beneficiarse de Iron Suite, una colección de herramientas de desarrollo de software que incluye IronPDF, IronOCR, IronXL, IronBarcode e IronWebscraper.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo exportar una tabla de datos a Excel en ASP.NET Core
SIGUIENTE >
Cómo convertir un conjunto de datos a Excel en C#