Importación de Datos desde Excel a Tablas en C#

Importación de Datos desde Excel a Tablas en C#

Compartir

Para importar datos desde un archivo Excel a tablas en C#, puedes utilizar la biblioteca ExcelDataReader. Asegúrate de agregar las referencias a ExcelDataReader y a los proveedores de datos específicos para Excel. Aquí tienes un ejemplo de cómo importar datos desde un archivo Excel:

using System;
using System.Data;
using System.IO;
using ExcelDataReader;

class Program
{
    static void Main()
    {
        // Ruta del archivo Excel
        string rutaArchivoExcel = "archivo.xlsx"; // Reemplaza con la ruta de tu archivo Excel

        // Configurar la conexión al archivo Excel
        using (var stream = File.Open(rutaArchivoExcel, FileMode.Open, FileAccess.Read))
        {
            using (var reader = ExcelReaderFactory.CreateReader(stream))
            {
                // Leer contenido del archivo Excel
                DataSet result = reader.AsDataSet();
                // Supongamos que el archivo Excel tiene una hoja llamada "Hoja1"
                DataTable table = result.Tables["Hoja1"];

                // Iterar a través de las filas y columnas del archivo Excel
                foreach (DataRow row in table.Rows)
                {
                    foreach (DataColumn col in table.Columns)
                    {
                        Console.Write(row[col] + "\t");
                    }
                    Console.WriteLine();
                }
            }
        }
    }
}

Asegúrate de reemplazar "archivo.xlsx" con la ruta de tu archivo Excel. Este código abrirá el archivo Excel, leerá su contenido y mostrará los datos en la consola. Puedes adaptar este ejemplo para guardar los datos en una base de datos, procesarlos de alguna otra manera o realizar cualquier acción específica que necesites con los datos importados. Además, debes asegurarte de que ExcelDataReader y sus dependencias estén instalados en tu proyecto a través de NuGet.

Ejemplo: «Desarrollo de una aplicación C# que importe datos de productos desde un archivo Excel y los almacene en una base de datos para su posterior análisis.»

Para desarrollar una aplicación C# que importe datos de productos desde un archivo Excel y los almacene en una base de datos, puedes utilizar las bibliotecas ExcelDataReader para leer el archivo Excel y Entity Framework para interactuar con la base de datos. A continuación, te proporciono un ejemplo de cómo hacerlo:

Asegúrate de agregar las referencias a las bibliotecas necesarias, como ExcelDataReader, Entity Framework y las bibliotecas de acceso a la base de datos que estés utilizando.

using System;
using System.Data;
using System.Data.Entity; // Asegúrate de tener Entity Framework instalado
using System.IO;
using ExcelDataReader;

namespace ImportProductsFromExcel
{
    class Program
    {
        static void Main()
        {
            // Ruta del archivo Excel
            string rutaArchivoExcel = "productos.xlsx"; // Reemplaza con la ruta de tu archivo Excel

            // Configurar la conexión al archivo Excel
            using (var stream = File.Open(rutaArchivoExcel, FileMode.Open, FileAccess.Read))
            {
                using (var reader = ExcelReaderFactory.CreateReader(stream))
                {
                    // Leer contenido del archivo Excel
                    DataSet result = reader.AsDataSet();

                    // Supongamos que el archivo Excel tiene una hoja llamada "Productos"
                    DataTable table = result.Tables["Productos"];

                    // Establecer la cadena de conexión a tu base de datos
                    string connectionString = "TuCadenaDeConexion"; // Reemplaza con tu cadena de conexión

                    // Crear una instancia del contexto de Entity Framework (o tu acceso a la base de datos)
                    using (var dbContext = new TuDbContext(connectionString))
                    {
                        // Iterar a través de las filas y columnas del archivo Excel
                        foreach (DataRow row in table.Rows)
                        {
                            // Crear una entidad para la tabla de la base de datos y asignar valores desde Excel
                            var producto = new Producto
                            {
                                Nombre = row["Nombre"].ToString(),
                                Precio = Convert.ToDecimal(row["Precio"]),
                                Stock = Convert.ToInt32(row["Stock"]),
                                // Asigna otros campos según tu estructura de base de datos
                            };

                            // Agregar el producto a la base de datos y guardar cambios
                            dbContext.Productos.Add(producto);
                            dbContext.SaveChanges();
                        }
                    }
                }
            }
        }
    }

    // Define tu DbContext y tus clases de entidad aquí según tu base de datos
    public class TuDbContext : DbContext
    {
        public TuDbContext(string connectionString) : base(connectionString)
        {
        }

        public DbSet<Producto> Productos { get; set; }
    }

    public class Producto
    {
        public int Id { get; set; }
        public string Nombre { get; set; }
        public decimal Precio { get; set; }
        public int Stock { get; set; }
        // Agrega otros campos según tu estructura de base de datos
    }
}

Asegúrate de reemplazar "productos.xlsx" con la ruta de tu archivo Excel, "TuCadenaDeConexion" con la cadena de conexión a tu base de datos y de definir el DbContext y las clases de entidad según tu estructura de base de datos. Este código abrirá el archivo Excel, leerá su contenido y lo insertará en la base de datos.


Compartir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *