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.
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.
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.
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.
Administrador de Paquetes NuGet
La siguiente captura de pantalla muestra IronXL en los resultados de búsqueda:
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 IronXLInstall-Package IronXLSHELL
El paquete se descargará e instalará en el proyecto actual.
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.
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".
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.
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.
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.
Haga clic derecho y seleccione Propiedades
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".
Agregar Nueva Tabla
Para crear una nueva tabla en la base de datos, siga estos pasos:
- Abra una nueva página de diseño de tabla de datos.
- Añada la siguiente consulta SQL, que creará una nueva tabla con tres columnas:
Id,NombreyNúmero. - Haga clic en el botón "Actualizar" en la parte superior de la página.
- 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.
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);
}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.
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.







