C# Leer archivo XLSX

This article was translated from English: Does it need improvement?
Translated
View the article in English

Al trabajar con varios formatos de Excel, a menudo se requiere leer los datos y manipularlos programáticamente. En el siguiente tutorial, aprenderemos cómo leer datos de una hoja de cálculo de Excel en C# usando una herramienta conveniente, IronXL.

Inicio rápido: Carga un libro de trabajo y accede a una hoja de trabajo sin esfuerzo

Con IronXL, puede cargar un archivo XLSX usando el método WorkBook.Load en una sola línea. Luego acceda a su primera hoja de trabajo o a una hoja de trabajo nombrada instantáneamente y comience a leer valores de celdas: lectura de archivos de Excel rápida y sin fricciones.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Leer archivos .XLSX C#

  • Consigue IronXL para tu proyecto
  • Cargar un libro de trabajo
  • Acceder a los datos desde una hoja de trabajo
  • Aplicar funciones como Suma, Mín y Máx.
  • Leer una hoja de cálculo como una tabla de datos, un conjunto de datos y más
How To Work related to C# Leer archivo XLSX

1. Consigue IronXL para tu proyecto

Utilice IronXL en su proyecto como una forma sencilla de trabajar con formatos de archivo de Excel en C#. Puede instalar IronXL vía descarga directa o alternativamente puede usar NuGet Install para Visual Studio. El software es gratuito para el desarrollo.

Install-Package IronXL.Excel

Tutorial de cómo hacerlo

2. Cargar libro de trabajo

WorkBook es la clase de IronXL cuyo objeto proporciona acceso completo al archivo de Excel y todas sus funciones. Por ejemplo, si queremos acceder a un archivo de Excel, usaríamos el código:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs
using IronXL;

// Load the workbook
WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

En el código anterior, la función WorkBook.Load() carga sample.xlsx en workBook. Se puede realizar cualquier tipo de función en workBook accediendo a la WorkSheet específica de un archivo de Excel.


3. Acceder a una hoja de trabajo específica

Para acceder a una WorkSheet específica de un archivo de Excel, IronXL proporciona la clase WorkSheet. Puede usarse de varias maneras diferentes:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs
using IronXL;

// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

workBook es el WorkBook que se declaró en la parte anterior.

O

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs
using IronXL;

// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

O

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs
using IronXL;

// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

O

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs
using IronXL;
using System.Linq;

// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

O

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs
using IronXL;
using System.Linq;

// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Después de obtener ExcelSheet workSheet, puede obtener cualquier tipo de datos de él y realizar todas las funciones de Excel en él.


4. Acceder a los datos desde la hoja de trabajo

Los datos pueden ser accedidos desde ExcelSheet workSheet con este proceso:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs
using IronXL;

// Accessing data as a string
string dataString = workSheet["A1"].ToString();

// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

También es posible obtener datos de múltiples celdas de una columna específica.

foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
For Each cell In workSheet("A2:A10")
	Console.WriteLine("Value is: {0}", cell.Text)
Next cell
$vbLabelText   $csharpLabel

Esto mostrará los valores desde la celda A2 hasta A10.

Aquí se proporciona un ejemplo de código completo de lo anterior.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs
using IronXL;
using System;

// Load an Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Mostrará el siguiente resultado:

Doc3 Input1 related to 4. Acceder a los datos desde la hoja de trabajo

Con el archivo de Excel Sample.xlsx:

Doc3 1 related to 4. Acceder a los datos desde la hoja de trabajo

Podemos ver lo fácil que es usar los datos del archivo de Excel en su proyecto usando estas metodologías.


5. Realizar funciones sobre los datos

Es muy sencillo acceder a datos filtrados de un Excel WorkSheet aplicando funciones agregadas como Suma, Mín o Máx usando el siguiente código:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs
using IronXL;

// Apply aggregate functions
decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10
decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10
decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Si desea más detalles, consulte nuestro tutorial en profundidad sobre cómo Escribir archivos Excel en C# con detalles sobre funciones agregadas.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs
using IronXL;
using System;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Calculate sum, minimum, and maximum for a range of cells
decimal sum = workSheet["G2:G10"].Sum();
decimal min = workSheet["G2:G10"].Min();
decimal max = workSheet["G2:G10"].Max();

// Output results
Console.WriteLine("Sum is: {0}", sum);
Console.WriteLine("Min is: {0}", min);
Console.WriteLine("Max is: {0}", max);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Este código mostrará la siguiente salida:

Doc3 Output2 related to 5. Realizar funciones sobre los datos

Y así es como se verá el archivo de Excel Sample.xlsx:

Doc3 2 related to 5. Realizar funciones sobre los datos

6. Leer la hoja de cálculo de Excel como tabla de datos

Con IronXL, es muy fácil operar con un Excel WorkSheet como un DataTable.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Si deseamos usar la primera fila de ExcelSheet como ColumnName de DataTable entonces:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Así, el parámetro Booleano de ToDataTable() establece la primera fila como los nombres de columnas de su DataTable. Por defecto, su valor es False.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Convert WorkSheet to DataTable
DataTable dt = workSheet.ToDataTable(true); // Use first row as column names

// Iterate through rows and columns and display data
foreach (DataRow row in dt.Rows) // Access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row
    {
        Console.Write(row[i] + " ");
    }
    Console.WriteLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Usando el código anterior, cada valor de celda de la WorkSheet puede ser accedido y utilizado según sea necesario.


7. Leer archivo de Excel como conjunto de datos

IronXL proporciona una función muy simple para usar un archivo completo de Excel (WorkBook) como un DataSet. Utilice el método ToDataSet para convertir todo el workbook en DataSet. En este ejemplo, veremos cómo usar el archivo de Excel como un DataSet.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Convert the WorkBook to a DataSet
DataSet ds = workBook.ToDataSet();

// Iterate through tables in the DataSet and display table names
foreach (DataTable dt in ds.Tables)
{
    Console.WriteLine(dt.TableName);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La salida del código anterior se verá así:

Doc10 Output2 related to 7. Leer archivo de Excel como conjunto de datos

Y el archivo de Excel Sample.xlsx se verá así:

Doc10 2 related to 7. Leer archivo de Excel como conjunto de datos

En el ejemplo anterior, vemos que podemos fácilmente analizar un archivo de Excel en un DataSet y usarlo con cada WorkSheet de un archivo de Excel como un DataTable. Profundice más en cómo analizar Excel como un DataSet aquí con ejemplos de código.

Veamos otro ejemplo de cómo acceder a cada valor de celda de todas las ExcelSheets. Aquí, podemos acceder a cada valor de celda de cada WorkSheet de un archivo de Excel.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
// ¡ESTE FRAGMENTO DE CÓDIGO NO ESTÁ DISPONIBLE!
' ¡ESTE FRAGMENTO DE CÓDIGO NO ESTÁ DISPONIBLE!
$vbLabelText   $csharpLabel

Usando el ejemplo anterior, es muy conveniente acceder a cada valor de celda de cada WorkSheet de un archivo de Excel.

Para obtener más información sobre cómo Leer archivos de Excel sin Interop consulte el código aquí.


Tutorial de acceso rápido

Referencia API para IronXL

Lea más sobre las características, clases, campos de métodos, espacios de nombres y enumeraciones de IronXL en la documentación.

Referencia API para IronXL
Documentation related to Tutorial de acceso rápido

Preguntas Frecuentes

¿Cómo puedo leer un archivo XLSX en C# sin usar Interop?

Para leer un archivo XLSX en C# sin usar Interop, puede usar la biblioteca IronXL. Después de instalar IronXL, puede cargar un libro Excel usando el método WorkBook.Load() y acceder a sus contenidos.

¿Cómo cargo un libro Excel en C#?

Puede cargar un libro Excel en C# usando IronXL llamando a WorkBook.Load('suarchivo.xlsx'), que abre el archivo especificado para su manipulación.

¿Qué métodos están disponibles para acceder a las hojas de trabajo en un archivo Excel?

En IronXL, puede acceder a las hojas de trabajo usando el método GetWorkSheet por nombre o índice, así como propiedades como DefaultWorkSheet o First.

¿Cómo puedo manipular datos en una hoja de trabajo Excel usando C#?

Puede manipular datos en una hoja de trabajo Excel usando IronXL accediendo a los valores de las celdas con sintaxis como ws['A1'].ToString() para cadenas o ws['B1'].Int32Value para enteros, y aplicando funciones como Suma en rangos de celdas.

¿Puedo realizar operaciones agregadas en datos de Excel en C#?

Sí, IronXL permite realizar operaciones agregadas en datos de Excel en C# usando métodos como Sum(), Min() y Max() en rangos de celdas especificadas.

¿Es posible convertir una hoja de trabajo Excel a un DataTable?

Sí, puede convertir una hoja de trabajo Excel a un DataTable en C# usando el método ToDataTable() de IronXL, con una opción para tratar la primera fila como nombres de columna.

¿Cómo puede usar un libro Excel como un DataSet en C#?

Con IronXL, un libro Excel puede ser utilizado como un DataSet llamando al método ToDataSet(), lo que permite una manipulación integral de datos.

¿Cuáles son las ventajas de usar una biblioteca para la manipulación de archivos Excel en C#?

Usar IronXL para la manipulación de archivos Excel en C# ofrece simplicidad y eficiencia, soportando varios formatos de Excel, permitiendo operaciones sobre datos y proporcionando características como convertir hojas de trabajo a DataTables.

¿Dónde puedo encontrar recursos adicionales para usar IronXL?

Puede encontrar más recursos y documentación en la página de referencia API de IronXL, que incluye información detallada sobre sus características, clases y métodos.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado