{"id":1910,"date":"2023-11-22T13:56:45","date_gmt":"2023-11-22T16:56:45","guid":{"rendered":"https:\/\/stackcodelab.com\/blog\/?p=1910"},"modified":"2023-12-03T10:57:18","modified_gmt":"2023-12-03T13:57:18","slug":"importacion-de-datos-desde-excel-a-tablas-en-c","status":"publish","type":"post","link":"https:\/\/stackcodelab.com\/blog\/importacion-de-datos-desde-excel-a-tablas-en-c\/","title":{"rendered":"Importaci\u00f3n de Datos desde Excel a Tablas en C#"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Para importar datos desde un archivo Excel a tablas en C#, puedes utilizar la biblioteca ExcelDataReader. Aseg\u00farate de agregar las referencias a ExcelDataReader y a los proveedores de datos espec\u00edficos para Excel. Aqu\u00ed tienes un ejemplo de c\u00f3mo importar datos desde un archivo Excel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\nusing System.Data;\r\nusing System.IO;\r\nusing ExcelDataReader;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        \/\/ Ruta del archivo Excel\r\n        string rutaArchivoExcel = \"archivo.xlsx\"; \/\/ Reemplaza con la ruta de tu archivo Excel\r\n\r\n        \/\/ Configurar la conexi\u00f3n al archivo Excel\r\n        using (var stream = File.Open(rutaArchivoExcel, FileMode.Open, FileAccess.Read))\r\n        {\r\n            using (var reader = ExcelReaderFactory.CreateReader(stream))\r\n            {\r\n                \/\/ Leer contenido del archivo Excel\r\n                DataSet result = reader.AsDataSet();\r\n                \/\/ Supongamos que el archivo Excel tiene una hoja llamada \"Hoja1\"\r\n                DataTable table = result.Tables&#91;\"Hoja1\"];\r\n\r\n                \/\/ Iterar a trav\u00e9s de las filas y columnas del archivo Excel\r\n                foreach (DataRow row in table.Rows)\r\n                {\r\n                    foreach (DataColumn col in table.Columns)\r\n                    {\r\n                        Console.Write(row&#91;col] + \"\\t\");\r\n                    }\r\n                    Console.WriteLine();\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aseg\u00farate de reemplazar <code>\"archivo.xlsx\"<\/code> con la ruta de tu archivo Excel. Este c\u00f3digo abrir\u00e1 el archivo Excel, leer\u00e1 su contenido y mostrar\u00e1 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\u00f3n espec\u00edfica que necesites con los datos importados. Adem\u00e1s, debes asegurarte de que ExcelDataReader y sus dependencias est\u00e9n instalados en tu proyecto a trav\u00e9s de NuGet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo: \u00abDesarrollo de una aplicaci\u00f3n C# que importe datos de productos desde un archivo Excel y los almacene en una base de datos para su posterior an\u00e1lisis.\u00bb<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para desarrollar una aplicaci\u00f3n 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\u00f3n, te proporciono un ejemplo de c\u00f3mo hacerlo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aseg\u00farate de agregar las referencias a las bibliotecas necesarias, como ExcelDataReader, Entity Framework y las bibliotecas de acceso a la base de datos que est\u00e9s utilizando.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using System;\r\nusing System.Data;\r\nusing System.Data.Entity; \/\/ Aseg\u00farate de tener Entity Framework instalado\r\nusing System.IO;\r\nusing ExcelDataReader;\r\n\r\nnamespace ImportProductsFromExcel\r\n{\r\n    class Program\r\n    {\r\n        static void Main()\r\n        {\r\n            \/\/ Ruta del archivo Excel\r\n            string rutaArchivoExcel = \"productos.xlsx\"; \/\/ Reemplaza con la ruta de tu archivo Excel\r\n\r\n            \/\/ Configurar la conexi\u00f3n al archivo Excel\r\n            using (var stream = File.Open(rutaArchivoExcel, FileMode.Open, FileAccess.Read))\r\n            {\r\n                using (var reader = ExcelReaderFactory.CreateReader(stream))\r\n                {\r\n                    \/\/ Leer contenido del archivo Excel\r\n                    DataSet result = reader.AsDataSet();\r\n\r\n                    \/\/ Supongamos que el archivo Excel tiene una hoja llamada \"Productos\"\r\n                    DataTable table = result.Tables&#91;\"Productos\"];\r\n\r\n                    \/\/ Establecer la cadena de conexi\u00f3n a tu base de datos\r\n                    string connectionString = \"TuCadenaDeConexion\"; \/\/ Reemplaza con tu cadena de conexi\u00f3n\r\n\r\n                    \/\/ Crear una instancia del contexto de Entity Framework (o tu acceso a la base de datos)\r\n                    using (var dbContext = new TuDbContext(connectionString))\r\n                    {\r\n                        \/\/ Iterar a trav\u00e9s de las filas y columnas del archivo Excel\r\n                        foreach (DataRow row in table.Rows)\r\n                        {\r\n                            \/\/ Crear una entidad para la tabla de la base de datos y asignar valores desde Excel\r\n                            var producto = new Producto\r\n                            {\r\n                                Nombre = row&#91;\"Nombre\"].ToString(),\r\n                                Precio = Convert.ToDecimal(row&#91;\"Precio\"]),\r\n                                Stock = Convert.ToInt32(row&#91;\"Stock\"]),\r\n                                \/\/ Asigna otros campos seg\u00fan tu estructura de base de datos\r\n                            };\r\n\r\n                            \/\/ Agregar el producto a la base de datos y guardar cambios\r\n                            dbContext.Productos.Add(producto);\r\n                            dbContext.SaveChanges();\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    \/\/ Define tu DbContext y tus clases de entidad aqu\u00ed seg\u00fan tu base de datos\r\n    public class TuDbContext : DbContext\r\n    {\r\n        public TuDbContext(string connectionString) : base(connectionString)\r\n        {\r\n        }\r\n\r\n        public DbSet&lt;Producto> Productos { get; set; }\r\n    }\r\n\r\n    public class Producto\r\n    {\r\n        public int Id { get; set; }\r\n        public string Nombre { get; set; }\r\n        public decimal Precio { get; set; }\r\n        public int Stock { get; set; }\r\n        \/\/ Agrega otros campos seg\u00fan tu estructura de base de datos\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aseg\u00farate de reemplazar <code>\"productos.xlsx\"<\/code> con la ruta de tu archivo Excel, <code>\"TuCadenaDeConexion\"<\/code> con la cadena de conexi\u00f3n a tu base de datos y de definir el DbContext y las clases de entidad seg\u00fan tu estructura de base de datos. Este c\u00f3digo abrir\u00e1 el archivo Excel, leer\u00e1 su contenido y lo insertar\u00e1 en la base de datos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para importar datos desde un archivo Excel a tablas en C#, puedes utilizar la biblioteca ExcelDataReader. Aseg\u00farate de agregar las referencias a ExcelDataReader y a los proveedores de datos espec\u00edficos para Excel. Aqu\u00ed tienes un ejemplo de c\u00f3mo importar datos desde un archivo Excel: Aseg\u00farate de reemplazar \u00abarchivo.xlsx\u00bb con la ruta de tu archivo Excel. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2091,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[34],"tags":[],"class_list":["post-1910","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-y-otras-hierbas"],"uagb_featured_image_src":{"full":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Importacion-de-Datos-desde-Excel-a-Tablas-en-C.jpg",1000,750,false],"thumbnail":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Importacion-de-Datos-desde-Excel-a-Tablas-en-C-150x150.jpg",150,150,true],"medium":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Importacion-de-Datos-desde-Excel-a-Tablas-en-C-300x225.jpg",300,225,true],"medium_large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Importacion-de-Datos-desde-Excel-a-Tablas-en-C-768x576.jpg",768,576,true],"large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Importacion-de-Datos-desde-Excel-a-Tablas-en-C.jpg",1000,750,false],"1536x1536":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Importacion-de-Datos-desde-Excel-a-Tablas-en-C.jpg",1000,750,false],"2048x2048":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/11\/Importacion-de-Datos-desde-Excel-a-Tablas-en-C.jpg",1000,750,false]},"uagb_author_info":{"display_name":"arquitecto","author_link":"https:\/\/stackcodelab.com\/blog\/author\/arquitecto\/"},"uagb_comment_info":0,"uagb_excerpt":"Para importar datos desde un archivo Excel a tablas en C#, puedes utilizar la biblioteca ExcelDataReader. Aseg\u00farate de agregar las referencias a ExcelDataReader y a los proveedores de datos espec\u00edficos para Excel. Aqu\u00ed tienes un ejemplo de c\u00f3mo importar datos desde un archivo Excel: Aseg\u00farate de reemplazar \"archivo.xlsx\" con la ruta de tu archivo Excel.&hellip;","_links":{"self":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/1910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/comments?post=1910"}],"version-history":[{"count":1,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/1910\/revisions"}],"predecessor-version":[{"id":1912,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/1910\/revisions\/1912"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media\/2091"}],"wp:attachment":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media?parent=1910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/categories?post=1910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/tags?post=1910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}