USO DE IRONXL

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

Chaknith Bin
Chaknith Bin
26 de febrero, 2023
Actualizado 6 de febrero, 2024
Compartir:

IronXL es una API rica en funciones que proporciona diversas funcionalidades para trabajar con archivos de 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 Extraer Datos de una Hoja de Excel en C#, Figura 1: Instalando la Biblioteca IronXL en el Proyecto de Visual Studio

    Instalación de la biblioteca 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
$vbLabelText   $csharpLabel

Usar el espacio de nombres IronXL proporciona todas las clases y funciones necesarias para trabajar con archivos Excel utilizando la biblioteca IronXL.

Paso 2: Cargar el archivo Excel

El primer paso es cargar el archivo. IronXL proporciona una clase WorkBook para cargar un archivo de Excel. Podemos usar la clase WorkBook para abrir un archivo de 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")
$vbLabelText   $csharpLabel

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

Para crear un nuevo WorkBook, utiliza 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)
$vbLabelText   $csharpLabel

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

Cómo extraer 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 de archivo .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 WorkSheet necesita especificar el nombre de la hoja de trabajo antes de acceder a los datos.

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
$vbLabelText   $csharpLabel

Este código recupera la primera hoja de cálculo (con el nombre de hoja Sheet1) 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)
$vbLabelText   $csharpLabel

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 indizador []: Recupera el valor de una sola celda.
  • GetRow: Recupera una única fila de datos.
  • GetColumn: 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
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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;
    // Do something with the extracted value
}
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values

For Each value In values
	Dim intValue As Integer = CInt(value)
	' Do something with the extracted value
Next value
$vbLabelText   $csharpLabel

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;
    // Do something with the extracted value
}
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values

For Each value In values
	Dim strValue As String = CStr(value)
	' Do something with the extracted value
Next value
$vbLabelText   $csharpLabel

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)
    {
        // Do something with the extracted value
    }
}
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values

For Each row In values
	For Each value In row
		' Do something with the extracted value
	Next value
Next row
$vbLabelText   $csharpLabel

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. Adicionalmente, podemos usar IronXL para automatizar tareas de Excel, como generar informes, crear gráficos y formatear 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 solo ha arañado la superficie de lo que IronXL puede hacer. IronXL proporciona una amplia gama de características adicionales, tales como formato de celdas, funciones matemáticas y formato condicional, por nombrar algunas.

Ventajas notables del uso de IronXL

  • Soporte dedicado de ingenieros .NET, soporte multiplataforma, Azure, AWS y Docker.
  • Instalación sencilla mediante Microsoft Visual Studio
  • prueba gratuita para desarrollo, con licencias a partir de $749
  • Fácil integración en proyectos C# o VB.NET
Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo convertir una tabla en un rango en Excel
SIGUIENTE >
Cómo crear un archivo CSV en C# (paso a paso) Tutorial