Saltar al pie de página
USANDO IRONXL
Cómo Leer Datos de Excel e Insertar en una Tabla de Base de Datos en C# | IronXL

Leer datos de Excel e insertar en base de datos con C#

Este artículo explorará cómo utilizar IronXL, una biblioteca 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 de Excel en sus aplicaciones .NET. Ofrece un conjunto completo de características 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 objetivo. 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 funciones avanzadas como creación de gráficos, visualización de datos y análisis de datos para simplificar el proceso de desarrollo para proyectos de pequeña a gran escala.

2. Requisitos previos

Antes de que pueda utilizar la biblioteca IronXL para escribir en una base de datos desde un archivo de Excel, debe cumplir con ciertos requisitos previos. Estos incluyen:

  • Tener Visual Studio instalado en su computadora para crear un proyecto C#.
  • Asegurarse de que ASP.NET también esté instalado en su sistema antes de crear un proyecto C#.
  • Instalar la biblioteca IronXL en su sistema para exportar datos. Puedes obtenerlo descargando el paquete NuGet de IronXL desde el Administrador de Paquetes NuGet en Visual Studio.
  • Tener SQL instalado en Visual Studio.

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

Antes de que pueda utilizar la biblioteca IronXL para realizar operaciones relacionadas con Excel, necesita 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 varios modelos de proyecto, como Windows Forms y ASP.NET, según los requisitos de su proyecto. Para este tutorial, se recomienda el modelo de proyecto de Aplicación de Consola para demostrar cómo trabajar con IronXL.

Cómo Leer Datos de Excel e Insertarlos en Tabla de Base de Datos en C#, Figura 1: Crear una nueva ventana de proyecto Crear un nuevo proyecto

Una vez que haya elegido el tipo de proyecto, debe nombrar el proyecto 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 Tabla de Base de Datos en C#, Figura 2: Configuración del proyecto Configuración del Proyecto

Después de crear 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 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, instalemos IronXL.

4. Instalar IronXL

La biblioteca IronXL se puede descargar e instalar de diferentes maneras, pero para este artículo, se cubren dos métodos más simples:

  • Usando paquetes NuGet en Visual Studio.
  • Usando la Línea de Comandos de Visual Studio.

4.1 Uso de Visual Studio

Para instalar la biblioteca IronXL, el primer enfoque es usar el Administrador de Paquetes NuGet en Visual Studio. Simplemente abra el Administrador de Paquetes NuGet y busque IronXL en la pestaña de Exploración. Una vez que haya encontrado IronXL en los resultados de búsqueda, selecciónelo y continúe con la instalación. Una vez completada la instalación, puede comenzar a usar la biblioteca IronXL en su proyecto.

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

Cómo Leer Datos de Excel e Insertarlos en 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 búsqueda:

Cómo Leer Datos de Excel e Insertarlos en 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 usando una interfaz de línea de comandos. Para instalar IronXL usando la línea de comandos, siga estos pasos:

  • En Visual Studio, vaya a Herramientas > Administrador de Paquetes NuGet > Consola de Administrador de Paquetes.
  • Ingrese la siguiente línea en la pestaña de la Consola del Administrador de Paquetes:

    Install-Package IronXL
    Install-Package IronXL
    SHELL

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

Cómo Leer Datos de Excel e Insertarlos en Tabla de Base de Datos en C#, Figura 6: Instalación mediante línea de comandos Instalación vía línea de comandos

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

Para instalar e integrar la tabla de base de datos de SQL server con su proyecto C#, primero, vaya al Administrador de Paquetes NuGet, busque System.Data.SqlClient e instálelo.

Cómo Leer Datos de Excel e Insertarlos en 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 la Interfaz de Usuario del Administrador de Paquetes NuGet

Una vez instalado, vaya al menú del proyecto y haga clic en "Agregar Nuevo Ítem".

Cómo Leer Datos de Excel e Insertarlos en Tabla de Base de Datos en C#, Figura 8: Agregar Nuevo Ítem Agregar Nuevo Ítem

Aparecerá una nueva ventana. Seleccione datos del menú lateral y luego haga clic en Base de Datos Basada en Servicio de la lista. Escriba un nombre apropiado para la base de datos y haga clic en el botón Agregar.

Cómo Leer Datos de Excel e Insertarlos en Tabla de Base de Datos en C#, Figura 9: Seleccionar Base de Datos Basada en Servicio Seleccionar Base de Datos Basada en Servicio

Luego, en el Explorador de Soluciones, haga clic derecho en la base de datos recién creada y seleccione "Abrir". Esto abrirá una nueva barra lateral.

Cómo Leer Datos de Excel e Insertarlos en Tabla de Base de Datos en C#, Figura 10: Haga clic 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. Desde allí, copie la cadena de conexión.

Cómo Leer Datos de Excel e Insertarlos en 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 Tabla de Base de Datos en C#, Figura 12: Manejar Cadena de Conexión Manejar 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 derecho en la carpeta de tablas y seleccione "Agregar Nueva Tabla".

Cómo Leer Datos de Excel e Insertarlos en Tabla de Base de Datos en C#, Figura 13: Agregar 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. Añada la siguiente consulta SQL, que creará una nueva tabla con tres columnas: Id, Nombre y Número.
  3. Haga clic en el botón "Actualizar" en la parte superior de la página.
  4. La tabla recién generada será agregada a la base de datos.
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] VARCHAR(100) NOT NULL,
  [Number] INT
)

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

Cómo Leer Datos de Excel e Insertarlos en Tabla de Base de Datos en C#, Figura 14: Datos de archivo de Excel Datos de archivo de Excel

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

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

Una vez que el servidor SQL está configurado y la cadena de conexión está copiada, simplemente pegue la cadena de conexión en el código a continuación, vincule su archivo de Excel con el código y cambie la consulta SQL si es necesario. Luego simplemente ejecute el código y los datos serán exportados a la tabla de la base de datos.

using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");

// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();

// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";

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

// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open(); // Open connection
    // Use SqlDataAdapter to update SQL table with DataSet from Excel file
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");

// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();

// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";

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

// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open(); // Open connection
    // Use SqlDataAdapter to update SQL table with DataSet from Excel file
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
Imports IronXL ' Import the IronXL library
Imports System.Data ' Import data handling library
Imports System.Data.SqlClient ' Import SQL Client library for SQL database operations

' Load the Excel workbook
Private workBook As WorkBook = WorkBook.Load("book.xlsx")

' Convert the workbook into a DataSet
Private dataSet As DataSet = workBook.ToDataSet()

' Define the SQL query to select data from the table
Private sql As String = "SELECT * FROM [dbo].[Table]"

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

' Open a connection to the SQL Server using the connection string
Using connection As New SqlConnection(connectionString)
	connection.Open() ' Open connection
	' Use SqlDataAdapter to update SQL table with DataSet from Excel file
	Dim adapter As New SqlDataAdapter(sql, connection)
	adapter.Update(dataSet)
End Using
$vbLabelText   $csharpLabel

Para verificar si los datos han sido exportados correctamente a la base de datos, haga clic derecho nuevamente en el directorio de la tabla y haga clic en "Nueva Consulta." Se abrirá una nueva página, seleccione su base de datos de la barra superior y ejecute la consulta SQL apropiada para recuperar los datos.

SELECT * FROM [dbo].[Table]

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

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

Así es como puede 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 común en muchas aplicaciones, y insertar datos desde una hoja de Excel en una tabla de base de datos puede optimizar los procesos de gestión de datos. Una forma de lograr esta tarea en C# es mediante el uso de bibliotecas que permiten leer y manipular archivos de Excel, como IronXL. Al utilizar esta biblioteca, los desarrolladores pueden extraer fácilmente datos de una hoja de Excel e insertarlos en una tabla de base de datos, simplificando el proceso de gestión de datos y reduciendo las posibilidades de errores. Este artículo cubre los pasos involucrados en agregar datos desde un archivo de Excel a una tabla de SQL Server en una base de datos de SQL Server usando 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 cómo leer archivos de Excel en C#.

Además, IronXL también ofrece funciones avanzadas incluyendo soporte para formatos de celda como alineación de texto, tamaño de fuente, color, panel de congelación, agregar fórmulas, aplicar formato condicional y cifrado con contraseña.

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

Preguntas Frecuentes

¿Cómo puedo leer datos de un archivo Excel usando C#?

Puedes usar IronXL para leer datos de un archivo Excel en C#. IronXL proporciona métodos para abrir y leer archivos Excel, lo que te permite acceder y manipular datos de forma programática.

¿Cuáles son los pasos para insertar datos de Excel en una base de datos SQL en C#?

Para insertar datos de Excel en una base de datos SQL usando C#, primero lee los datos con IronXL y conviértelos en un DataSet. Luego, usa SqlDataAdapter para actualizar la tabla de la base de datos SQL con el DataSet.

¿Cómo creo una nueva tabla de base de datos para importar datos de Excel?

Puedes crear una nueva tabla de base de datos ejecutando una consulta SQL como CREATE TABLE [dbo].[Table] ( [Id] INT NOT NULL PRIMARY KEY, [Name] VARCHAR(100) NOT NULL, [Number] INT ) para definir la estructura de la tabla.

¿Cuáles son los requisitos previos para usar IronXL en un proyecto de C#?

Los requisitos previos incluyen tener instalado Visual Studio, la biblioteca IronXL desde el Administrador de Paquetes NuGet y SQL Server configurado en tu entorno de Visual Studio.

¿Cómo verifico que los datos de Excel se han insertado correctamente en una base de datos?

Puedes verificar la inserción de datos ejecutando una consulta SQL como SELECT * FROM [dbo].[Table] para recuperar y revisar las entradas de datos en la base de datos SQL Server.

¿Cuáles son algunas características avanzadas que ofrece IronXL?

IronXL ofrece características avanzadas como la creación de gráficos, visualización de datos, formato de celdas, paneles de congelación, adición de fórmulas, formato condicional y encriptación con contraseña.

¿Cómo puedo instalar IronXL en mi proyecto de Visual Studio?

Puedes instalar IronXL en tu proyecto de Visual Studio usando el Administrador de Paquetes NuGet para buscar e instalar IronXL, o ejecutando Install-Package IronXL en la Línea de Comandos de Visual Studio.

¿Por qué debería usar IronXL para la transferencia de datos entre Excel y bases de datos SQL?

El uso de IronXL para la transferencia de datos entre Excel y bases de datos SQL automatiza el proceso, asegurando la precisión de los datos y ahorrando tiempo mientras se mantiene la información actualizada.

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