USO DE IRONXL

Cómo Obtener Datos de una Hoja Excel en C#

Actualizado 26 de febrero, 2023
Compartir:

IronXL es una API repleta de funciones que ofrece diversas funcionalidades para trabajar con Archivos Excel en C#. Este tutorial explorará cómo obtener datos de hojas de Excel en C# usando IronXL.

Para seguir este tutorial, necesitas tener lo siguiente:

  • Microsoft Visual Studio instalado en su equipo
  • Conocimientos básicos de programación en C
  • Biblioteca IronXL instalada en su proyecto

    Puedes descargar IronXL desde el sitio web oficial o a través del gestor de paquetes NuGet en Visual Studio.

Instalación de IronXL en Visual Studio

Para instalar IronXL en un proyecto C#, siga estos pasos:

  1. Abra Microsoft Visual Studio.
  2. Cree un nuevo proyecto o abra un proyecto existente.
  3. Haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione "Administrar paquetes NuGet".
  4. En la ventana "Gestor de paquetes NuGet", seleccione la pestaña "Examinar".
  5. En el cuadro de búsqueda, escriba "IronXL" y pulse Intro.
  6. Seleccione "IronXL.Excel" y haga clic en el botón "Instalar".
  7. Haga clic en el botón "Acepto" para aceptar el acuerdo de licencia.
  8. Espere a que finalice la instalación.

    Cómo Obtener Datos de una Hoja de Excel en C#, Figura 1: Instalación de la Librería IronXL en un Proyecto de Visual Studio

    Instalación de la librería IronXL en un proyecto de Visual Studio

    Una vez realizados estos pasos, IronXL debería estar instalado y listo para usar en su proyecto C#.

Paso 1: Importar las bibliotecas necesarias

Añade el siguiente código de ejemplo para importar la librería IronXL y otras librerías necesarias.

using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms
VB   C#

El espacio de nombres IronXL proporciona todas las clases y funciones necesarias para trabajar con archivos Excel utilizando la librería IronXL.

Paso 2: Cargar el archivo Excel

El primer paso es cargar el archivo. IronXL proporciona un Libro de trabajo para cargar un fichero Excel. Podemos utilizar la clase WorkBooks para abrir un archivo Excel existente o crear un nuevo libro de trabajo.

Para cargar un archivo Excel existente, utilice el siguiente código:

WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
Dim workbook As WorkBook = WorkBook.Load("path/to/excel/file.xlsx")
VB   C#

Este código carga el archivo Excel especificado en un objeto WorkBook.

Para crear un nuevo WorkBook, utilice el siguiente código de ejemplo:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
VB   C#

Este código crea un nuevo libro de trabajo en el formato de archivo especificado (aquí, XLSX).

Cómo Obtener Datos de una Hoja de Excel en C#, Figura 3: IronXL puede cargar y crear Hojas de Cálculo de Excel en los formatos de archivo .XLS y .XLSX.

IronXL puede cargar y crear hojas de cálculo Excel en los formatos .XLS y .XLSX.

Paso 3: Recuperar la hoja Excel

Después de cargar el fichero Excel, es necesario indicar la hoja Excel de la que se van a obtener los datos. Un WorkBook puede contener múltiples objetos WorkSheet. Cada Hoja de trabajo debe especificar el nombre de la hoja de cálculo antes de acceder a los datos.

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
VB   C#

Este código recupera la primera hoja de cálculo (con el nombre de la hoja de cálculo Hoja1) del libro de trabajo. Si desea recuperar una hoja de cálculo por índice, puede utilizar el siguiente código:

WorkSheet worksheet = workbook.WorkSheets [0];
WorkSheet worksheet = workbook.WorkSheets [0];
Dim worksheet As WorkSheet = workbook.WorkSheets (0)
VB   C#

Este código recupera la primera hoja de cálculo del libro de trabajo, suponiendo que exista.

Paso 4: Recuperar datos de la hoja Excel

A partir de la hoja Excel recuperada, es posible acceder a los datos. IronXL proporciona varios métodos para recuperar datos de una hoja de Excel. He aquí algunos de los métodos más utilizados:

  • Operador indexador []: Recupera el valor de una sola celda.
  • GetRow: Recupera una única fila de datos.
  • ObtenerColumna: Recupera una sola columna de datos.
  • GetRange: Recupera un rango de celdas.

    Para recuperar el valor de una sola celda, utilice el siguiente código:

object value = worksheet ["A1"].Value;
object value = worksheet ["A1"].Value;
Dim value As Object = worksheet ("A1").Value
VB   C#

Este código recupera el valor de la celda A1 de la hoja de cálculo.

Para recuperar una sola fila de datos, utilice el siguiente código:

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
VB   C#

Este código recupera la primera fila de datos de la hoja de cálculo.

Para recuperar una sola columna de datos, utilice el siguiente código:

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
VB   C#

Este código recupera la primera columna de datos de la hoja de cálculo.

Para recuperar un rango de celdas, utilice el siguiente código:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
VB   C#

Este código recupera el rango de celdas de A1 a B2 en la hoja de cálculo.

Paso 5: Extraer los datos de la hoja Excel

Para extraer un único valor de los datos recuperados, es necesario convertirlo al tipo de datos adecuado.

El siguiente código muestra cómo extraer un valor entero de la celda A1:

int value = worksheet ["A1"].IntValue;
int value = worksheet ["A1"].IntValue;
Dim value As Integer = worksheet ("A1").IntValue
VB   C#

El siguiente código puede utilizarse para extraer una fila de datos:

var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    //  Hacer algo con el valor extraído
}
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    //  Hacer algo con el valor extraído
}
Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values

For Each value In values
	Dim intValue As Integer = CInt(value)
	'  Hacer algo con el valor extraído
Next value
VB   C#

Este código extrae la primera fila de datos e itera a través de los valores de la fila, convirtiendo cada valor en un entero.

A continuación, el siguiente código muestra cómo extraer una columna de datos:

var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    //  Hacer algo con el valor extraído
}
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    //  Hacer algo con el valor extraído
}
Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values

For Each value In values
	Dim strValue As String = CStr(value)
	'  Hacer algo con el valor extraído
Next value
VB   C#

Este código extrae la primera columna de datos e itera a través de los valores de la columna, convirtiendo cada valor en una cadena.

El siguiente ejemplo muestra cómo extraer un rango de celdas:

var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        //  Hacer algo con el valor extraído
    }
}
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        //  Hacer algo con el valor extraído
    }
}
Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values

For Each row In values
	For Each value In row
		'  Hacer algo con el valor extraído
	Next value
Next row
VB   C#

Este código extrae el rango de celdas de A1 a B2 e itera a través de los valores de cada celda.

Conclusión

Este tutorial explora cómo obtener datos de hojas de Excel en C# usando IronXL, así como cargar un archivo de Excel, recuperar la hoja de cálculo requerida, recuperar datos de la hoja de cálculo, extraer datos e importar datos a una base de datos. IronXL proporciona una API rica en funciones para trabajar con archivos Excel, lo que facilita la integración de datos Excel en aplicaciones C#. Con IronXL, podemos leer y escribir archivos Excel e interactuar con sus datos mediante programación. Además, podemos utilizar IronXL para automatizar tareas de Excel, como la generación de informes, creación de gráficos y formato de celdas.

Más información sobre IronXL

IronXL es una biblioteca cómoda y fácil de usar para leer y escribir en archivos Excel y CSV, con funciones pequeñas y fáciles de recordar.

Este tutorial sólo araña la superficie de lo que IronXL puede hacer. IronXL ofrece una amplia gama de funciones adicionales, como formato de celda, funciones matemáticas y formato condicional por nombrar algunos.

Ventajas notables del uso de IronXL

  • Asistencia especializada de ingenieros de .NET y compatibilidad multiplataforma, Azure, AWS y Docker.
  • Instalación sencilla mediante Microsoft Visual Studio
  • free trial for development, with licenses starting at $599
  • Fácil integración en proyectos C# o VB.NET
< ANTERIOR
Cómo convertir una tabla en un rango en Excel
SIGUIENTE >
Cómo crear un archivo CSV en C# (paso a paso) Tutorial

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123