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.