C# Leer archivo XLSX

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

Para leer archivos XLSX en C#, utilice el método WorkBook.Load de IronXL para abrir archivos de Excel y acceder a hojas de trabajo para leer datos de celdas, realizar cálculos y convertir a formatos DataTable o DataSet mediante programación.

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

Con IronXL, puede cargar un archivo XLSX utilizando el método WorkBook.Load en una sola línea. A continuación, acceda a su primera hoja de trabajo o a la hoja de trabajo con nombre al instante y comience a leer los valores de las celdas.

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
  • Acceso a datos de una WorkSheet (hoja de trabajo)
  • Aplicar funciones como Suma, Mín y Máx.
  • Leer una WorkSheet como DataTable, DataSet, etc
How To Work related to C# Leer archivo XLSX

¿Cómo obtengo IronXL para mi 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

Antes de sumergirse en la lectura de archivos XLSX, explore la completa documentación de IronXL para comprender todas las funciones disponibles. IronXL es compatible con los formatos .xls y .xlsx, lo que lo hace versátil para archivos Excel antiguos y modernos.


Tutorial de cómo hacerlo

¿Cómo se carga un libro de trabajo?

WorkBook es la clase de IronXL cuyo objeto proporciona acceso completo al archivo Excel y a todas sus funciones. Por ejemplo, para acceder a un archivo de Excel, utilice 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

¿Por qué utilizar el método WorkBook.Load()?

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 Excel. El método WorkBook.Load detecta automáticamente el formato del archivo, ya sea XLS, XLSX, XLSM, XLTX o CSV. Para escenarios de carga más avanzados, consulte la guía detallada sobre carga de hojas de cálculo.


¿Cómo accedo 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 utilizarse de varias maneras:

¿Cuáles son las distintas formas de acceder a una hoja de cálculo?

: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 declara 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

¿Cuándo debo utilizar cada método de acceso a la hoja de cálculo?

Cada método tiene su caso de uso ideal:

  • GetWorkSheet("nombre"): Cuando se conoce el nombre exacto de la hoja
  • Hojas de trabajo[index]: Para iterar a través de las hojas mediante programación
  • Hoja de trabajo predeterminada: Acceso rápido cuando se trabaja con archivos de una sola hoja
  • First() o FirstOrDefault(): opciones seguras cuando los nombres de las hojas pueden cambiar

Después de obtener ExcelSheet workSheet, puede obtener cualquier tipo de datos de él y realizar todas las funciones de Excel en él. Para operaciones más complejas con hojas de cálculo, consulte la guía sobre apertura de hojas de cálculo de Excel en C#.


¿Cómo accedo a los datos de una hoja de trabajo?

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

¿Qué tipos de datos puedo leer de las celdas?

: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

IronXL proporciona varios accesores de valor para diferentes tipos de datos:

  • StringValue: Para datos de texto
  • Int32Value: Para números enteros
  • DoubleValue: Para decimales
  • DateTimeValue: Para fechas
  • BoolValue: Para valores verdadero/falso

¿Cómo puedo leer varias celdas a la vez?

También puede obtener datos de varias 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 muestra los valores de la celda A2 a A10. Para conocer técnicas más avanzadas de selección de rangos, visite el tutorial de selección de rangos.

¿Cómo es una implementación completa?

Aquí se proporciona un ejemplo de código completo de las especificaciones anteriores:

: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

Muestra el siguiente resultado:

Salida de la consola que muestra los datos extraídos de la hoja de cálculo con los valores de Gobierno, Privado, Mercado Medio y Socios de Canal

Con el archivo Excel Sample.xlsx:

Hoja de cálculo Excel con datos comerciales que muestra columnas de segmento, país, producto y banda de descuento en 16 filas

Estas metodologías muestran lo fácil que es utilizar datos de archivos Excel en tu proyecto. Para ver ejemplos prácticos de lectura de archivos de Excel sin Interop, explore la lectura de ejemplos de Excel.


¿Cómo puedo realizar funciones en los datos?

Acceda a datos filtrados de una WorkSheet de Excel aplicando funciones agregadas como Sum, Min o Max utilizando el siguiente código:

¿Qué funciones agregadas están disponibles?

: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

IronXL admite numerosas funciones matemáticas, entre las que se incluyen:

  • Promedio(): Calcular el valor medio
  • Count(): Cuenta las celdas no vacías
  • CountIf(): Cuenta las celdas que cumplen los criterios
  • Mediana(): Encontrar el valor medio
  • StdDev(): Calcular la desviación estándar

¿Cómo puedo implementar varias funciones a la vez?

Para más detalles, consulte nuestro tutorial en profundidad sobre Cómo Escribir archivos de Excel en C# con información específica sobre funciones agregadas. También puedes explorar la lista completa de funciones matemáticas disponibles en IronXL.

: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 muestra la siguiente salida:

Terminal que muestra los resultados del análisis de datos: Suma=482, Mín=12, Máx=350 sobre fondo negro

Y este es el aspecto del archivo Excel Sample.xlsx:

Hoja de cálculo Excel con datos de ventas que muestra segmentos, países, productos, unidades vendidas y precios en varias filas

¿Cómo leer Excel WorkSheet como DataTable?

Con IronXL, es fácil trabajar con una WorkSheet de Excel como una DataTable. Esta función es especialmente útil cuando se necesita integrar datos de Excel con procesos de datos existentes o vincular datos a controles de interfaz de usuario.

¿Cuál es el método básico de conversión?

: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

¿Cómo utilizo la primera fila como encabezado de columna?

Para utilizar la primera fila de ExcelSheet como DataTable ColumnName:

: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

El parámetro booleano de ToDataTable() establece la primera fila como los nombres de columna de su DataTable. Por defecto, su valor es False. Esto es especialmente útil cuando se trabaja con datos estructurados que incluyen cabeceras.

¿Cómo itero a través de DataTable?

: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

Utilizando el código anterior, se puede acceder a cada valor de celda de la WorkSheet y utilizarlo según sea necesario. Para operaciones más avanzadas con DataTable, consulte la guía sobre importación y exportación como DataSet.


¿Cómo leer un archivo Excel como DataSet?

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

¿Cómo convierto un libro de trabajo en 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

El resultado del código anterior es el siguiente:

Captura de pantalla corrupta o incompleta que solo muestra las etiquetas Hoja1, Hoja2, Hoja3

Y el archivo Excel Sample.xlsx tiene este aspecto:

Hoja de cálculo Excel con varias hojas de trabajo que muestra datos empresariales en diferentes segmentos de mercado y países

¿Cómo puedo acceder al valor de cada celda en todas las hojas de cálculo?

En el ejemplo anterior, podemos convertir fácilmente un archivo Excel en un DataSet y trabajar con cada WorkSheet de un archivo Excel como una DataTable. Profundice en cómo parse Excel as a 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 al valor de cada celda de cada WorkSheet de un archivo 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

Utilizando el ejemplo anterior, es conveniente acceder a cada valor de celda de cada WorkSheet de un archivo Excel. Este enfoque es especialmente útil cuando se trata de libros de varias hojas de trabajo en los que los datos están distribuidos en diferentes pestañas.

Para más información sobre cómo Leer archivos Excel sin Interop consulta el código aquí. La documentación de referencia de la API proporciona detalles completos sobre todos los métodos y propiedades disponibles en IronXL API Reference.


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 se leen los archivos XLSX en C#?

Para leer archivos XLSX en C#, utilice el método WorkBook.Load de IronXL. Simplemente cargue el archivo de Excel con IronXL.WorkBook.Load("your-file.xlsx"), luego acceda a las hojas de trabajo para leer datos de celdas, realizar cálculos y convertir a formatos DataTable o DataSet mediante programación.

¿Qué formatos de archivo se admiten al cargar archivos Excel?

IronXL admite varios formatos de archivo de Excel, incluidos los archivos .xls, .xlsx, .xlsm, .xltx y .csv. El método WorkBook.Load detecta automáticamente el formato de archivo, lo que lo hace versátil tanto para archivos Excel antiguos como modernos.

¿Cómo puedo instalar la biblioteca de lectura de Excel en mi proyecto de C#?

Puede instalar IronXL mediante descarga directa o a través de NuGet Install para Visual Studio. El software es gratuito para fines de desarrollo y proporciona una forma sencilla de trabajar con formatos de archivo Excel en C#.

¿Cuáles son las diferentes formas de acceder a una hoja de cálculo específica?

IronXL proporciona múltiples formas de acceder a las hojas de trabajo: puede utilizar workBook.GetWorkSheet("SheetName") para acceder por nombre, workBook.WorkSheets[0] para acceder por índice o workBook.WorkSheets.First() para obtener la primera hoja de trabajo.

¿Puedo realizar cálculos con los datos de Excel después de cargarlos?

Sí, después de cargar un archivo XLSX con IronXL, puede aplicar varias funciones como Suma, Mín y Máx en los datos. La biblioteca proporciona acceso completo a la funcionalidad de los archivos Excel a través del objeto WorkBook.

¿Es posible convertir datos de hojas de cálculo de Excel a otros formatos?

Sí, IronXL le permite leer una hoja de trabajo y convertirla a varios formatos, incluidos DataTable, DataSet y más. Esto facilita la integración de datos de Excel en sus aplicaciones de C#.

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,765,830 | Versión: 2025.12 recién lanzado