C# Leer archivo XLSX
Para leer archivos XLSX en C#, use 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 programáticamente.
Inicio rápido: Cargar un libro de trabajo y acceder a una hoja fácilmente
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 nominada al instante y comience a leer valores de celdas.
-
Instala IronXL con el Administrador de Paquetes NuGet
PM > Install-Package IronXL.Excel -
Copie y ejecute este fragmento de código.
IronXl.WorkBook workbook = IronXl.WorkBook.Load("your-file.xlsx"); -
Despliegue para probar en su entorno real
Comienza a usar IronXL en tu proyecto hoy mismo con una prueba gratuita
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
WorkSheetcomo DataTable, DataSet, etc
¿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 de Excel y 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
Imports IronXL
' Load the workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Excel file path
¿Por qué usar el método WorkBook.Load()?
En el código anterior, la función Load() carga WorkBook en WorkBook. Cualquier tipo de función se puede realizar en WorkBook accediendo al WorkSheet específico de un archivo de Excel. El método Load() detecta automáticamente el formato de archivo, ya sea XLS, XLSX, XLSM, XLTX o CSV. Para escenarios de carga más avanzados, consulte la guía detallada sobre cargar hojas de cálculo.
¿Cómo accedo a una hoja de trabajo específica?
Para acceder a un WorkSheet específico de un archivo de Excel, IronXL proporciona la clase WorkBook. 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");
Imports IronXL
' Access sheet by name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
WorkBook["SheetName"] es el WorkSheet que se declara en la parte anterior.
O
WorkBook
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];
Imports IronXL
' Access sheet by index
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
O
WorkBook.Load()
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;
Imports IronXL
' Access the default worksheet
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
O
sample.xlsx
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();
Imports IronXL
Imports System.Linq
' Access the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
O
workBook
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();
Imports IronXL
Imports System.Linq
' Access the first or default worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.FirstOrDefault()
O
workBook
O
WorkBook.Load
O
WorkSheet
O
WorkSheet
O
workBook
O
WorkBook
¿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("name"): Cuando conoces el nombre exacto de la hojaWorkSheets[index]: Para iterar a través de hojas programáticamenteDefaultWorkSheet: Acceso rápido al trabajar con archivos de una sola hojaFirst()oFirstOrDefault(): Opciones seguras cuando los nombres de las hojas podrían cambiar
Después de obtener ExcelSheet workSheet, puede obtener cualquier tipo de datos de él y realizar todas las funciones de Excel. 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 se pueden acceder 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;
Imports IronXL
' Accessing data as a string
Dim dataString As String = workSheet("A1").ToString()
' Accessing data as an integer
Dim dataInt As Integer = workSheet("B1").Int32Value
IronXL proporciona varios accesores de valor para diferentes tipos de datos:
StringValue: Para datos de textoInt32Value: Para enterosDoubleValue: Para decimalesDateTimeValue: Para fechasBoolValue: 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
Esto muestra los valores desde la celda A2 hasta 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);
}
Imports IronXL
Imports System
' Load an Excel file
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Specify the range
For Each cell In workSheet("B2:B10")
Console.WriteLine("Value is: {0}", cell.Text)
Next
Muestra el siguiente resultado:
Con el archivo de Excel Sample.xlsx:
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 desde un WorkSheet de Excel aplicando funciones agregadas como Sum, Min o Max usando 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
Imports IronXL
' Apply aggregate functions
Dim sum As Decimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10
Dim min As Decimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10
Dim max As Decimal = workSheet("G2:G10").Max() ' Maximum value in cells from G2 to G10
IronXL admite numerosas funciones matemáticas, entre las que se incluyen:
Average(): Calcular el valor medioCount(): Contar celdas no vacíasCountIf(): Contar celdas que cumplen ciertos criteriosMedian(): Encontrar el valor medioStdDev(): 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);
Imports IronXL
Imports System
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Calculate sum, minimum, and maximum for a range of cells
Dim sum As Decimal = workSheet("G2:G10").Sum()
Dim min As Decimal = workSheet("G2:G10").Min()
Dim max As Decimal = workSheet("G2:G10").Max()
' Output results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Este código muestra la siguiente salida:
Y así es como se ve el archivo de Excel Sample.xlsx:
¿Cómo leer Excel WorkSheet como DataTable?
Usando IronXL, es fácil trabajar con un WorkSheet de Excel como un 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();
Imports IronXL
Imports System.Data
' Convert worksheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable()
¿Cómo utilizo la primera fila como encabezado de columna?
Para usar 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);
Imports IronXL
Imports System.Data
' Convert worksheet to DataTable with the first row as column names
Dim dt As DataTable = workSheet.ToDataTable(True)
El parámetro Booleano de ToDataTable() establece la primera fila como los nombres de las columnas 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();
}
Imports IronXL
Imports System
Imports System.Data
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Convert WorkSheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable(True) ' Use first row as column names
' Iterate through rows and columns and display data
For Each row As DataRow In dt.Rows ' Access rows
For i As Integer = 0 To dt.Columns.Count - 1 ' Access columns of corresponding row
Console.Write(row(i) & " ")
Next
Console.WriteLine()
Next
Usando el código anterior, se puede acceder a cada valor de celda de WorkSheet y usar como se requiera. Para operaciones más avanzadas de DataTable, vea 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 usar un archivo de Excel completo (WorkBook) como un DataSet. Utilice el método ToDataSet para convertir todo el libro 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);
}
Imports IronXL
Imports System
Imports System.Data
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Convert the WorkBook to a DataSet
Dim ds As DataSet = workBook.ToDataSet()
' Iterate through tables in the DataSet and display table names
For Each dt As DataTable In ds.Tables
Console.WriteLine(dt.TableName)
Next
El resultado del código anterior es el siguiente:
Y el archivo de Excel Sample.xlsx se ve así:
(center content omitted for brevity)
¿Cómo puedo acceder al valor de cada celda en todas las hojas de cálculo?
En el ejemplo anterior, podemos analizar fácilmente un archivo de Excel en un DataSet y trabajar con cada DataTable de un archivo de Excel como un DataTable. Profundice en cómo parse Excel as a DataSet aquí con ejemplos de código.
Veamos un ejemplo más de cómo acceder a cada valor de celda de todos los ExcelSheets. Aquí, podemos acceder a cada valor de celda de cada ExcelSheet 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!
Usando el ejemplo anterior, es conveniente acceder a cada valor de celda de cada ExcelSheet de un archivo de Excel. Este enfoque es particularmente útil al tratar con libros de trabajo de múltiples hojas donde 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 IronXLWorkSheet
WorkSheet
WorkSheet
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#.






