# C# Leer archivo XLSX
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` programáticamente.
*as-heading:2(Inicio rápido: Cargar un libro de trabajo y acceder a una hoja fácilmente)*
Con IronXL, puede cargar un archivo XLSX utilizando el método `WorkBook.Load` en una sola línea. Luego, acceda instantáneamente a su primera hoja de trabajo o a una hoja con nombre y comience a leer los valores de las celdas.
```cs
:title=Start Reading XLSX in One Line — IronXL
IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
```
<div class="learnn-how-section">
<div class="row">
<div class="col-sm-6">
<h2>Leer archivos .XLSX C#</h2>
<ul class="list-unstyled">
<li>Consigue IronXL para tu proyecto</li>
<li>Cargar un <code>Libro de trabajo</code></li>
<li>Acceso a datos de una <code>WorkSheet</code> (hoja de trabajo)</li>
<li>Aplicar funciones como Suma, Mín y Máx.</li>
<li>Leer una <code>WorkSheet</code> como DataTable, DataSet, etc</li>
</ul>
</div>
<div class="col-sm-6">
<div class="download-card">
<img style="box-shadow: none; width: 308px; height: 320px;" src="/img/faq/excel/how-to-work.svg" class="img-responsive learn-how-to-img replaceable-img" />
</div>
</div>
</div>
</div>
<hr class="separator" />
## ¿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](/csharp/excel/packages/IronXL.zip) o alternativamente puede usar [NuGet Install para Visual Studio](https://www.nuget.org/packages/IronXL.Excel). El software es gratuito para el desarrollo.
```shell
:ProductInstall
```
Antes de sumergirse en la lectura de archivos XLSX, explore la [completa documentación de IronXL](https://ironsoftware.com/csharp/excel/docs/) 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.
<hr class="separator" />
#### 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:
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs
```
### ¿Por qué usar el método `WorkBook.Load()`?
En el código anterior, la función `Load()` carga `WorkBook` en `WorkBook`. Se puede realizar cualquier tipo de función en `WorkBook` accediendo al `WorkSheet` específico de un archivo de Excel. El método `Load()` detecta automáticamente el formato del archivo, ya sea XLS, XLSX, XLSM, XLTX o CSV. Para escenarios más avanzados de carga, consulte la guía detallada sobre [carga de hojas de cálculo](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/).
<hr class="separator" />
## ¿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?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs
```
`WorkBook["SheetName"]` es el `WorkSheet` que se declara en la porción anterior.
O
`WorkBook`
O
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs
```
O
`WorkBook.Load()`
O
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs
```
O
`sample.xlsx`
O
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs
```
O
`workBook`
O
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs
```
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 conoce el nombre exacto de la hoja
- **`WorkSheets[index]`**: Para iterar programáticamente a través de las hojas
- **`DefaultWorkSheet`**: Acceso rápido al trabajar 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 dato y realizar todas las funciones de Excel sobre é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#](https://ironsoftware.com/csharp/excel/how-to/c-sharp-open-excel-worksheet/).
<hr class="separator" />
## ¿Cómo accedo a los datos de una hoja de trabajo?
Se puede acceder a los datos de `ExcelSheet` `workSheet` con este proceso:
### ¿Qué tipos de datos puedo leer de las celdas?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs
```
IronXL proporciona varios accesores de valor para diferentes tipos de datos:
- **`StringValue`**: Para datos de texto
- **`Int32Value`**: Para enteros
- **`DoubleValue`**: For decimals
- **`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:
```csharp
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
```
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](https://ironsoftware.com/csharp/excel/how-to/select-range/).
### ¿Cómo es una implementación completa?
Aquí se proporciona un ejemplo de código completo de las especificaciones anteriores:
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs
```
Muestra el siguiente resultado:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-input1.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-input1.png" alt="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" class="img-responsive add-shadow" /></a>
</div>
</center>
Con el archivo de Excel `Sample.xlsx`:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-1.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-1.png" alt="Hoja de cálculo Excel con datos comerciales que muestra columnas de segmento, país, producto y banda de descuento en 16 filas" class="img-responsive add-shadow" /></a>
</div>
</center>
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](https://ironsoftware.com/csharp/excel/examples/read-excel/).
<hr class="separator" />
## ¿Cómo puedo realizar funciones en los datos?
Acceda a datos filtrados de un `WorkSheet` de Excel aplicando funciones agregadas como `Sum`, `Min`, o `Max` usando el siguiente código:
### ¿Qué funciones agregadas están disponibles?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs
```
IronXL admite numerosas funciones matemáticas, entre las que se incluyen:
- **`Average()`**: Calcular el valor medio
- **`Count()`**: Contar celdas no vacías
- **`CountIf()`**: Contar celdas que cumplen con los criterios
- **`Median()`**: Encontrar el valor central
- **`StdDev()`**: Calcular 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#](https://ironsoftware.com/csharp/excel/tutorials/csharp-open-write-excel-file/#advanced-operations-sum-avg-count-etc) con información específica sobre funciones agregadas. También puedes explorar la lista completa de [funciones matemáticas disponibles en IronXL](https://ironsoftware.com/csharp/excel/how-to/math-functions/).
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs
```
Este código muestra la siguiente salida:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-output2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-output2.png" alt="Terminal que muestra los resultados del análisis de datos: Suma=482, Mín=12, Máx=350 sobre fondo negro" class="img-responsive add-shadow" /></a>
</div>
</center>
Y así es como se ve el archivo de Excel `Sample.xlsx`:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-2.png" alt="Hoja de cálculo Excel con datos de ventas que muestra segmentos, países, productos, unidades vendidas y precios en varias filas" class="img-responsive add-shadow" /></a>
</div>
</center>
<hr class="separator" />
## ¿Cómo leer Excel WorkSheet como DataTable?
Con IronXL, es fácil trabajar con un Excel `WorkSheet` 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?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs
```
### ¿Cómo utilizo la primera fila como encabezado de columna?
Para usar la primera fila de `ExcelSheet` como `DataTable` `ColumnName`:
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs
```
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?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs
```
Usando el código anterior, se puede acceder a cada valor de celda del `WorkSheet` y usarlo según sea necesario. Para operaciones `DataTable` más avanzadas, vea la guía sobre [importar y exportar como DataSet](https://ironsoftware.com/csharp/excel/how-to/export-dataset-datatable/).
<hr class="separator" />
## ¿Cómo leer un archivo Excel como DataSet?
IronXL proporciona una función simple para usar un archivo completo de Excel (`WorkBook`) como un `DataSet`. Use 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?
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs
```
El resultado del código anterior es el siguiente:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc10-output2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc10-output2.png" alt="Captura de pantalla corrupta o incompleta que solo muestra las etiquetas Hoja1, Hoja2, Hoja3" class="img-responsive add-shadow" /></a>
</div>
</center>
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 convertir 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](https://ironsoftware.com/csharp/excel/#excel-sql-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.
```csharp
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
```
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](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/) 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](https://ironsoftware.com/csharp/excel/object-reference/api/).
<hr class="separator" />
#### Tutorial de acceso rápido
<div class="tutorial-section">
<div class="row">
<div class="col-sm-8">
<h3>Referencia API para IronXL</h3>
<p>Lea más sobre las características, clases, campos de métodos, espacios de nombres y enumeraciones de IronXL en la documentación.</p>
<a class="doc-link" href="/csharp/excel/object-reference/api/" target="_blank"> Referencia API para IronXL <i class="fa fa-chevron-right"></i></a>
</div>
<div class="col-sm-4">
<div class="tutorial-image">
<img style="max-width: 110px; width: 100px; height: 140px;" alt="" class="img-responsive add-shadow" src="/img/svgs/documentation.svg" width="100" height="140" />
</div>
</div>
</div>
</div>
`WorkSheet`
`WorkSheet`
`WorkSheet`
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 programáticamente.
Inicio rápido: Cargar un libro de trabajo y acceder a una hoja fácilmente
Con IronXL, puede cargar un archivo XLSX utilizando el método WorkBook.Load en una sola línea. Luego, acceda instantáneamente a su primera hoja de trabajo o a una hoja con nombre y comience a leer los valores de las celdas.
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:
using IronXL;// Load the workbookWorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
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. Se puede realizar cualquier tipo de función en WorkBook accediendo al WorkSheet específico de un archivo de Excel. El método Load() detecta automáticamente el formato del archivo, ya sea XLS, XLSX, XLSM, XLTX o CSV. Para escenarios más avanzados de carga, 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 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?
using IronXL;// Access sheet by nameWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
using IronXL;
// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
ImportsIronXL' Access sheet by nameDim workSheet AsWorkSheet = 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 porción anterior.
O
WorkBook
O
using IronXL;// Access sheet by indexWorkSheet workSheet = workBook.WorkSheets[0];
using IronXL;
// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
ImportsIronXL' Access sheet by indexDim workSheet AsWorkSheet = workBook.WorkSheets(0)
Imports IronXL
' Access sheet by index
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
O
WorkBook.Load()
O
using IronXL;// Access the default worksheetWorkSheet workSheet = workBook.DefaultWorkSheet;
using IronXL;
// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
ImportsIronXL' Access the default worksheetDim workSheet AsWorkSheet = workBook.DefaultWorkSheet
Imports IronXL
' Access the default worksheet
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
O
sample.xlsx
O
using IronXL;using System.Linq;// Access the first worksheetWorkSheet workSheet = workBook.WorkSheets.First();
using IronXL;
using System.Linq;
// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
ImportsIronXLImportsSystem.Linq' Access the first worksheetDim workSheet AsWorkSheet = workBook.WorkSheets.First()
Imports IronXL
Imports System.Linq
' Access the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
O
workBook
O
using IronXL;using System.Linq;// Access the first or default worksheetWorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
using IronXL;
using System.Linq;
// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
ImportsIronXLImportsSystem.Linq' Access the first or default worksheetDim workSheet AsWorkSheet = 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 conoce el nombre exacto de la hoja
WorkSheets[index]: Para iterar programáticamente a través de las hojas
DefaultWorkSheet: Acceso rápido al trabajar con archivos de una sola hoja
First() o FirstOrDefault(): Opciones seguras cuando los nombres de las hojas pueden cambiar
Después de obtener ExcelSheetworkSheet, puede obtener cualquier tipo de dato y realizar todas las funciones de Excel sobre é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?
Se puede acceder a los datos de ExcelSheetworkSheet con este proceso:
¿Qué tipos de datos puedo leer de las celdas?
using IronXL;// Accessing data as a stringstring dataString = workSheet["A1"].ToString();// Accessing data as an integerint dataInt = workSheet["B1"].Int32Value;
using IronXL;
// Accessing data as a string
string dataString = workSheet["A1"].ToString();
// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
ImportsIronXL' Accessing data as a stringDim dataString AsString = workSheet("A1").ToString()' Accessing data as an integerDim dataInt AsInteger = 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 texto
Int32Value: Para enteros
DoubleValue: For decimals
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
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:
using IronXL;using System;// Load an Excel fileWorkBook workBook = WorkBook.Load("sample.xlsx");WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Specify the rangeforeach (var cell in workSheet["B2:B10"]){Console.WriteLine("Value is: {0}", cell.Text);}
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);
}
ImportsIronXLImportsSystem' Load an Excel fileDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")Dim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Specify the rangeFor Each cell In workSheet("B2:B10")Console.WriteLine("Value is: {0}", cell.Text)Next
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 de un WorkSheet de Excel aplicando funciones agregadas como Sum, Min, o Max usando el siguiente código:
¿Qué funciones agregadas están disponibles?
using IronXL;// Apply aggregate functionsdecimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
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
ImportsIronXL' Apply aggregate functionsDim sum AsDecimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10Dim min AsDecimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10Dim max AsDecimal = 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 medio
Count(): Contar celdas no vacías
CountIf(): Contar celdas que cumplen con los criterios
Median(): Encontrar el valor central
StdDev(): Calcular desviación estándar
¿Cómo puedo implementar varias funciones a la vez?
using IronXL;using System;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Get the specified WorkSheetWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Calculate sum, minimum, and maximum for a range of cellsdecimal sum = workSheet["G2:G10"].Sum();decimal min = workSheet["G2:G10"].Min();decimal max = workSheet["G2:G10"].Max();// Output resultsConsole.WriteLine("Sum is: {0}", sum);Console.WriteLine("Min is: {0}", min);Console.WriteLine("Max is: {0}", max);
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);
ImportsIronXLImportsSystem' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Get the specified WorkSheetDim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Calculate sum, minimum, and maximum for a range of cellsDim sum AsDecimal = workSheet("G2:G10").Sum()Dim min AsDecimal = workSheet("G2:G10").Min()Dim max AsDecimal = workSheet("G2:G10").Max()' Output resultsConsole.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?
Con IronXL, es fácil trabajar con un Excel WorkSheet 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?
using IronXL;using System.Data;// Convert worksheet to DataTableDataTable dt = workSheet.ToDataTable();
using IronXL;
using System.Data;
// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
ImportsIronXLImportsSystem.Data' Convert worksheet to DataTableDim dt AsDataTable = 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 DataTableColumnName:
using IronXL;using System.Data;// Convert worksheet to DataTable with the first row as column namesDataTable dt = workSheet.ToDataTable(true);
using IronXL;
using System.Data;
// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
ImportsIronXLImportsSystem.Data' Convert worksheet to DataTable with the first row as column namesDim dt AsDataTable = 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?
using IronXL;using System;using System.Data;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Get the specified WorkSheetWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Convert WorkSheet to DataTableDataTable dt = workSheet.ToDataTable(true); // Use first row as column names// Iterate through rows and columns and display dataforeach (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();}
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();
}
ImportsIronXLImportsSystemImportsSystem.Data' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Get the specified WorkSheetDim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Convert WorkSheet to DataTableDim dt AsDataTable = workSheet.ToDataTable(True) ' Use first row as column names' Iterate through rows and columns and display dataFor Each row AsDataRowIn dt.Rows' Access rows For i AsInteger = 0 To dt.Columns.Count - 1 ' Access columns of corresponding rowConsole.Write(row(i) & " ") NextConsole.WriteLine()Next
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 del WorkSheet y usarlo según sea necesario. Para operaciones DataTable más avanzadas, vea la guía sobre importar y exportar como DataSet.
¿Cómo leer un archivo Excel como DataSet?
IronXL proporciona una función simple para usar un archivo completo de Excel (WorkBook) como un DataSet. Use 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?
using IronXL;using System;using System.Data;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Convert the WorkBook to a DataSetDataSet ds = workBook.ToDataSet();// Iterate through tables in the DataSet and display table namesforeach (DataTable dt in ds.Tables){Console.WriteLine(dt.TableName);}
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);
}
ImportsIronXLImportsSystemImportsSystem.Data' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Convert the WorkBook to a DataSetDim ds AsDataSet = workBook.ToDataSet()' Iterate through tables in the DataSet and display table namesFor Each dt AsDataTableIn ds.TablesConsole.WriteLine(dt.TableName)Next
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 convertir 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.
using IronXL;using System;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Iterate through every WorkSheet in the WorkBookforeach (WorkSheet workSheet in workBook.WorkSheets){Console.WriteLine($"Worksheet: {workSheet.Name}"); // Access each filled cell value on the current WorkSheet foreach (var cell in workSheet.FilledCells) {Console.WriteLine($"{cell.Address}: {cell.Text}"); }}
using IronXL;
using System;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Iterate through every WorkSheet in the WorkBook
foreach (WorkSheet workSheet in workBook.WorkSheets)
{
Console.WriteLine($"Worksheet: {workSheet.Name}");
// Access each filled cell value on the current WorkSheet
foreach (var cell in workSheet.FilledCells)
{
Console.WriteLine($"{cell.Address}: {cell.Text}");
}
}
C#
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.
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#.
Can I convert an entire workbook to a DataSet with IronXL?
Yes, you can convert an entire workbook to a DataSet using the `ToDataSet` method, which allows you to work with each worksheet as a separate DataTable.
What is the recommended way to read multiple cells at once in IronXL?
You can read multiple cells by iterating over a specified range, for example, using `foreach` on `workSheet["A2:A10"]` to read each cell's value.
How do I install IronXL in my C# project?
You can install IronXL via direct download or through NuGet Package Manager in Visual Studio. The library is free for development purposes.
How can I display Excel sheet data results in the console using IronXL?
To display Excel sheet data in the console, load the workbook using `WorkBook.Load`, access the desired worksheet, and iterate through cells to output their values using `Console.WriteLine`.
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 estructurados y visualmente atractivos.