USO DE IRONXL

Cómo leer datos de Excel e insertarlos en una tabla de base de datos en C#

Actualizado 1 de mayo, 2023
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 completo conjunto de funciones para crear, editar y exportar hojas de cálculo de Excel, todo ello sin necesidad de tener instalado Microsoft Office o Excel en el equipo de destino. Con compatibilidad con una amplia gama de formatos de archivoesta biblioteca, que incluye XLS, XLSX, CSV, TSV, etc., facilita a los desarrolladores la creación de aplicaciones basadas en Excel que pueden implantarse en cualquier lugar. IronXL también ofrece funciones avanzadas como creación de gráficos y análisis de datos para agilizar el proceso de desarrollo de proyectos de pequeña y gran envergadura.

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: Crear una nueva ventana de 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 insertarlos 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: Gestor de paquetes NuGet

Gestor 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 la búsqueda en IronXL

Resultado de la búsqueda 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 insertarlos en una tabla de 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 base de datos SQL server con su proyecto C#, primero, vaya al Gestor de Paquetes NuGet, y busque System.Data.SqlClient`, e instálelo.

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

**Busque e instale SqlClient en la interfaz de usuario del Gestor 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 insertarlos en una tabla de base de datos en C#, Figura 8: Añadir nuevo elemento

Añadir 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 servicios

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

Haz clic con el botón derecho del ratón y selecciona 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 con el botón derecho y seleccione Propiedades

Haz clic con el botón derecho del ratón y selecciona Propiedades

Cómo Leer Datos de Excel e Insertar 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 insertarlos en una tabla de base de datos en C#, Figura 13: Añadir nueva tabla

Añadir 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. Añade la siguiente consulta SQL, que creará una nueva tabla con tres columnas: Id, Nombre, y Número.
  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)
VB   C#

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 insertarlos en una tabla de base de datos en C#, Figura 14: Datos de archivo de Excel

Datos del archivo 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
VB   C#

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 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, analiza 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. Visite el siguiente tutorial para aprender a leer archivos Excel en C#.

Además, IronXL también ofrece funciones avanzadas, como la compatibilidad con formatos de celda como alineación del texto, tamaño de letra, color, panel de congelación, añadir fórmulas, aplicar 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 y IronWebscraper.

< 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#

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

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