Saltar al pie de página
USANDO IRONXL

Cómo convertir Excel en DataGridView en C#

Características de la biblioteca IronXL

Usando la biblioteca IronXL en C#, puedes leer y convertir fácilmente documentos de Microsoft Excel a archivos CSV. IronXL es una biblioteca de software .NET independiente que puede leer varios formatos de hojas de cálculo sin requerir la instalación de Microsoft Excel o depender de Microsoft Office Interop Excel.

IronXL es una de las principales bibliotecas de hojas de cálculo Excel para C#, compatible con .NET Core y .NET Framework. Admite varios Marcos .NET, incluidas aplicaciones web, aplicaciones de Windows Forms y aplicaciones de consola. Leer archivos de Excel es rápido y sencillo con IronXL. Admite una amplia gama de formatos de archivo de Excel, incluidos XLSX, XLS, CSV, TSV, XLST, XLSM y otros. Puedes importar, editar, exportar tablas de datos, exportar conjuntos de datos y realizar muchas otras operaciones. También es posible exportar y guardar archivos con diferentes extensiones.

Con la API intuitiva de C# de IronXL, puedes leer, modificar y crear archivos de hojas de cálculo Excel sin esfuerzo en el entorno .NET. Proporciona un soporte completo para .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS y Azure.

IronXL puede realizar cálculos como Microsoft Excel y admite varios formatos de datos de columnas, como texto, enteros, fórmulas, fechas, monedas y porcentajes.

Para obtener más información, haz clic en el sitio web de IronXL.

Crear un nuevo proyecto en Visual Studio

Antes de usar el marco IronXL, se debe crear un proyecto .NET en Visual Studio. Cualquier versión de Visual Studio funcionará; sin embargo, se recomienda usar la versión más reciente. Puedes crear varias plantillas de proyectos o una aplicación similar a Windows Forms, dependiendo de tus requisitos. Este tutorial utilizará la aplicación Windows Forms para simplificar las cosas.

Cómo convertir Excel a Datagridview en C#, Figura 1: Crear un nuevo proyecto en Visual Studio

Crea un nuevo proyecto en Visual Studio

Después de elegir tu plantilla de proyecto, proporciona el nombre y la ubicación del proyecto.

Cómo convertir Excel a Datagridview en C#, Figura 2: Configurar el proyecto

Configura el proyecto

A continuación, elige la siguiente estructura. Este proyecto utilizará .NET Framework 4.7.

Cómo convertir Excel a Datagridview en C#, Figura 3: Selección de .NET Framework

Selección del Framework .NET

Después de generar los archivos del proyecto, puedes abrir el archivo Form1.cs en la vista de diseñador para insertar el código del programa, diseñar la interfaz y compilar/ejecutar el programa. Luego, necesitarás descargar la biblioteca IronXL requerida para la solución. Puedes descargar el paquete usando el siguiente comando en el administrador de paquetes:

Install-Package IronXL.Excel

Cómo convertir Excel a Datagridview en C#, Figura 4: Instalar el paquete IronXL en la Consola del Administrador de Paquetes

Instalar el paquete IronXL en la Consola del Administrador de Paquetes

Alternativamente, puedes usar el Administrador de Paquetes NuGet para buscar y descargar el paquete "IronXL". El Administrador de Paquetes NuGet proporciona una manera conveniente de gestionar las dependencias en tu proyecto.

Cómo convertir Excel a Datagridview en C#, Figura 5: Buscar e instalar el paquete IronXL en la interfaz de usuario del Administrador de Paquetes NuGet

Buscar e instalar el paquete IronXL en la interfaz del Administrador de Paquetes NuGet

Para este formulario, se coloca un control DataGridView en el formulario para cargar el archivo Excel necesario en el control DataGridView.

Cargar datos desde un archivo de Excel

IronXL es una poderosa biblioteca para Excel que te permite leer archivos de Excel con solo unas pocas líneas de código. A continuación se muestra un fragmento de código de ejemplo que demuestra cómo importar datos de Excel a un DataGridView:

using System;
using System.Windows.Forms;
using IronXL;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string importFilePath = string.Empty;

            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            // Check if the user selected a file
            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            // Proceed if the file path is not empty
            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                WorkBook excelDoc = WorkBook.Load(importFilePath);

                // Convert the first sheet to a DataTable
                var dataTable = excelDoc.WorkSheets[0].ToDataTable();

                // Set the DataSource of dataGridView1 to the DataTable
                dataGridView1.DataSource = dataTable;
            }
        }
    }
}
using System;
using System.Windows.Forms;
using IronXL;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string importFilePath = string.Empty;

            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            // Check if the user selected a file
            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            // Proceed if the file path is not empty
            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                WorkBook excelDoc = WorkBook.Load(importFilePath);

                // Convert the first sheet to a DataTable
                var dataTable = excelDoc.WorkSheets[0].ToDataTable();

                // Set the DataSource of dataGridView1 to the DataTable
                dataGridView1.DataSource = dataTable;
            }
        }
    }
}
Imports System
Imports System.Windows.Forms
Imports IronXL

Namespace DataTableWindowsForm
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			Dim importFilePath As String = String.Empty

			openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
			Dim result As DialogResult = openFileDialog1.ShowDialog()

			' Check if the user selected a file
			If result = System.Windows.Forms.DialogResult.OK Then
				importFilePath = openFileDialog1.FileName
			End If

			' Proceed if the file path is not empty
			If Not String.IsNullOrEmpty(importFilePath) Then
				' Load the Excel document
				Dim excelDoc As WorkBook = WorkBook.Load(importFilePath)

				' Convert the first sheet to a DataTable
				Dim dataTable = excelDoc.WorkSheets(0).ToDataTable()

				' Set the DataSource of dataGridView1 to the DataTable
				dataGridView1.DataSource = dataTable
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

El código anterior importa datos desde Excel. Para proporcionar más contexto, supongamos que estamos diseñando una aplicación Windows Forms con un control DataGridView y un botón. El botón abrirá un cuadro de diálogo para buscar el archivo Excel desde una ubicación específica. Se agrega un código personalizado para filtrar y mostrar solo un número limitado de archivos con una extensión específica.

Cómo convertir Excel a Datagridview en C#, Figura 6: Abrir un cuadro de diálogo para seleccionar un archivo Excel

Abrir un cuadro de diálogo para seleccionar un archivo Excel

Luego, se utiliza el método Load para cargar datos del archivo Excel. Este método permite cargar datos desde varias fuentes como nombres de archivos, bytes o flujos. Si el archivo Excel está protegido con contraseña, también puedes pasar la contraseña como parámetro.

Una vez que los detalles de Excel se cargan en el objeto IronXL, se utiliza el método ToDataTable para convertir los datos de la hoja de Excel en un DataTable. Cada hoja en el archivo Excel se convertirá en una tabla separada.

Entonces, carga la tabla requerida del conjunto de datos en el DataGridView. Para hacer esto, la propiedad DataSource del DataGridView se establece en el objeto DataTable recién creado desde IronXL. Este paso permite la población de datos desde el archivo Excel al DataGridView.

Cómo convertir Excel a Datagridview en C#, Figura 7: Mostrar datos del archivo Excel

Mostrar datos del archivo Excel

Además, es posible que necesites configurar el DataGridView para que muestre correctamente los encabezados y la primera fila de datos, según tus requisitos específicos.

Para más tutoriales sobre cómo usar IronXL, haz clic en esta guía de cómo hacerlo.

Conclusión

IronXL es una utilidad de Excel altamente popular que no depende de bibliotecas externas. Es una solución independiente y no requiere la instalación de Microsoft Excel. Es compatible con varias plataformas.

Con IronXL, puedes realizar una amplia gama de operaciones relacionadas con documentos de Microsoft Excel de manera programática. Puedes realizar tareas como ordenar cadenas o números, recortar y agregar datos, encontrar y reemplazar valores, fusionar y desfusionar celdas, guardar archivos y más. También te permite validar datos de hojas de cálculo y definir tipos de datos de celda. Además, IronXL admite leer y escribir archivos CSV.

IronXL está disponible para su compra con diferentes opciones de licencia. Los clientes también tienen la opción de pagar una tarifa de membresía anual para actualizaciones y soporte de productos. Por un cargo adicional, IronXL proporciona derechos de redistribución sin restricciones. Para obtener información de precios más detallada, puedes visitar la página de licencias.

Preguntas Frecuentes

¿Cómo puedo mostrar datos de Excel en un DataGridView en C# sin usar Interop?

Puede usar IronXL para leer datos de Excel y mostrarlos en un DataGridView convirtiendo una hoja de Excel en un DataTable y configurándolo como la fuente de datos para el DataGridView.

¿Cuáles son los beneficios de usar IronXL para operaciones de Excel en C#?

IronXL ofrece una solución independiente para operaciones de Excel sin necesidad de Microsoft Excel o Office Interop. Soporta múltiples plataformas y formatos, lo que lo hace versátil para diferentes aplicaciones en C#.

¿Cómo instalo IronXL en un proyecto de Visual Studio para el manejo de Excel?

Instale IronXL ejecutando Install-Package IronXL.Excel en la Consola del Administrador de Paquetes o usando la interfaz de usuario del Administrador de Paquetes NuGet en Visual Studio.

¿IronXL soporta la lectura y escritura en diferentes formatos de archivo de Excel?

Sí, IronXL soporta la lectura y escritura en varios formatos de archivo de Excel, incluyendo XLSX, XLS, CSV y TSV.

¿Puede usarse IronXL en aplicaciones multiplataforma?

Sí, IronXL es compatible con .NET Core, .NET Framework, Xamarin y otras plataformas, lo que lo hace adecuado para aplicaciones multiplataforma.

¿Cuál es el proceso para convertir datos de Excel en un DataTable usando IronXL?

Para convertir datos de Excel en un DataTable usando IronXL, lea el archivo de Excel en un objeto WorkBook, acceda a la hoja deseada y use los métodos de IronXL para extraer datos en un DataTable.

¿Es IronXL una solución rentable para la manipulación de datos de Excel en C#?

IronXL ofrece opciones de licencia flexibles, incluyendo membresías anuales y derechos de redistribución, lo que lo hace una solución rentable para la manipulación de datos de Excel en C#.

¿Qué tipo de operaciones puede realizar IronXL en archivos de Excel?

IronXL puede realizar una variedad de operaciones como leer, escribir, ordenar, recortar y fusionar celdas, así como manejar cálculos y formateo similar a Microsoft Excel.

¿Cómo maneja IronXL los datos de Excel para interfaces de usuario?

IronXL puede cargar datos de Excel de varias fuentes y convertirlos en un DataTable, facilitando la integración sin problemas en interfaces de usuario como DataGridView en aplicaciones de Windows Forms.

¿Dónde puedo encontrar más recursos sobre el uso de IronXL para operaciones de Excel?

Más tutoriales y recursos sobre el uso de IronXL se pueden encontrar en el sitio web de IronXL, incluyendo guías prácticas y documentación detallada.

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