# Cómo importar archivos de Excel en C#
IronXL permite a los desarrolladores de C# importar datos de Excel con una sola línea de código, ya que admite XLSX, CSV y otros formatos sin dependencias de Interop, lo que permite el acceso inmediato a celdas, rangos y hojas de cálculo para la manipulación de datos.
*as-heading:2(Inicio rápido: Cargar Instantáneamente tu Archivo Excel)*
Con sólo una llamada al método que utiliza la API sin tiempo de espera de IronXL, puede cargar cualquier hoja de Excel compatible (XLSX, CSV, etc.) en cuestión de segundos, sin Interop, sin complicaciones. Comienza a interactuar con el libro de trabajo inmediatamente accediendo a celdas, rangos o hojas según sea necesario.
```cs
:title=Quickly Import Excel in One Line
WorkBook wb = IronXL.WorkBook.Load("path/to/data.xlsx");
```
<div class="learnn-how-section">
<div class="row">
<div class="col-sm-6">
<h2>Importar datos de Excel C#</h2>
<ul class="list-unstyled">
<li>Importar datos con la biblioteca IronXL</li>
<li>Importar datos de Excel en C#</li>
<li>Importar datos de un rango de celdas específico</li>
<li>Importar datos de Excel con funciones agregadas SUMA, AVG, MIN, MAX y más</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" />
<div class="hsg-featured-snippet">
<h3>Flujo de trabajo mínimo (5 pasos)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronXL.Excel/">Descargue e instale la biblioteca C# para importar archivos de Excel</a></li>
<li>Prepare los archivos Excel a importar</li>
<li>Utilice el método <code>Load</code> para importar una hoja de cálculo</li>
<li>Edite el archivo Excel cargado utilizando APIs intuitivas</li>
<li>Exporte el archivo Excel editado en varios tipos</li>
</ol>
</div>
<h4 class="tutorial-segment-title">Paso 1</h4>
## Instalación de la biblioteca IronXL
### IronXL facilita la importación de Excel
Importar datos usando las funciones proporcionadas por la biblioteca de Excel de IronXL, que utilizaremos en este tutorial. El software está disponible de forma gratuita para el desarrollo. IronXL proporciona una completa [C# Excel API](https://ironsoftware.com/csharp/excel/docs/) que simplifica el trabajo con archivos de Excel sin necesidad de dependencias de Microsoft Office o Interop. Esto lo hace ideal para entornos de servidor y despliegues en la nube.
### Métodos de instalación
Instale en su [proyecto C# vía descarga de DLL](/csharp/excel/packages/IronXL.zip) o navegue [usando el paquete NuGet](https://www.nuget.org/packages/IronXL.Excel). Para obtener información detallada sobre la instalación, consulte nuestra [glosario de introducción](https://ironsoftware.com/csharp/excel/docs/).
```shell
:ProductInstall
```
<hr class="separator" />
<h4 class="tutorial-segment-title">Tutorial de cómo hacerlo</h4>
## Cómo acceder a una hoja de trabajo en su proyecto
### Proceso básico de carga de WorkBook
Para las necesidades de nuestro proyecto de hoy, vamos a importar datos de Excel en nuestra aplicación C# utilizando el software IronXL instalado en el paso 1. La biblioteca admite varios formatos de Excel y proporciona métodos intuitivos para [cargar hojas de cálculo](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/).
Para el paso 2, cargaremos nuestro Excel `WorkBook` en nuestro proyecto de C# utilizando la función `WorkBook.Load()` de IronXL. Pasamos la ruta del Excel `WorkBook` como un parámetro de tipo cadena en esta función:
```csharp
// Load Excel file
WorkBook wb = WorkBook.Load("Path");
```
El archivo Excel en la ruta especificada se cargará en `wb`. Este método es compatible con XLSX, XLS, CSV, TSV y otros formatos comunes de hoja de cálculo.
### Acceso a una hoja de trabajo específica
A continuación, necesitamos acceder a un `WorkSheet` específico del archivo Excel cuyos datos se importarán al proyecto. Para este propósito, podemos usar la función `GetWorkSheet()` de IronXL, pasando el nombre de la hoja como un parámetro de tipo cadena para especificar qué hoja del `WorkBook` importar. Más información sobre la gestión de hojas de trabajo en nuestra guía completa.
```csharp
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
```
El `WorkSheet` se importará como `ws`, y `wb` es el `WorkBook` que definimos en el ejemplo de código anterior.
### Métodos alternativos para acceder a las hojas de trabajo
Existen las siguientes formas alternativas para importar un Excel `WorkSheet` en el proyecto. Cada método ofrece flexibilidad en función de su caso de uso específico:
```csharp
// Import WorkSheet by various methods
// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];
// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;
// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();
// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
```
Ahora, podemos importar fácilmente cualquier tipo de datos de los archivos de Excel especificados. Exploremos todos los aspectos posibles para importar datos de archivos Excel en nuestro proyecto.
<hr class="separator" />
## Importación de datos de Excel en C#
### Método básico de importación de celdas
Este es el aspecto básico de importar datos de archivos de Excel en nuestro proyecto. IronXL ofrece múltiples formas de acceder a los datos de las celdas, lo que lo hace flexible para diferentes escenarios.
Para este propósito, podemos usar un sistema de direccionamiento de celdas para especificar qué datos de celda necesitamos importar. Devuelve el valor de una dirección de celda específica del archivo Excel:
```csharp
var cellValue = ws["Cell Address"];
```
### Importación de datos mediante índices de filas y columnas
También podemos importar datos de celdas de archivos de Excel usando índices de fila y columna. Esta línea de código devuelve el valor del índice de fila y columna especificado. Este enfoque es especialmente útil cuando se itera a través de datos mediante programación:
```csharp
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
```
### Almacenamiento de valores importados en variables
Para asignar valores de celda importados a variables, utilice este código. El método `ToString()` asegura la compatibilidad con variables de tipo cadena, pero también puede convertir a otros tipos según sea necesario:
```csharp
// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();
// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
// for numeric values
decimal numericValue = ws["B2"].DecimalValue;
// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
```
En los ejemplos anteriores, el índice de fila y columna comienza en 0. Para operaciones de celda más avanzadas, explore nuestra guía sobre [borrar celdas](https://ironsoftware.com/csharp/excel/how-to/clear-cells/) y [copiar celdas](https://ironsoftware.com/csharp/excel/how-to/copy-cells/).
<hr class="separator" />
## Importación de datos de un rango específico
### Sintaxis de funciones de rango
Para importar datos en un rango específico de un Excel `WorkBook`, use la función `range`. Defina el rango describiendo las direcciones de las celdas inicial y final. Esto devuelve todos los valores de celda dentro del rango especificado. Para conocer todas las técnicas de selección de gamas, consulte nuestra guía de selección de gamas.
```csharp
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
```
### Ejemplo completo de importación de rangos
Para más información sobre cómo trabajar con rangos en archivos Excel y aprender más sobre cómo extraer datos con diferentes métodos. El siguiente ejemplo muestra la importación tanto de valores de celdas individuales como de rangos:
```csharp
using IronXL;
using System;
// Import Excel WorkBook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import data of specific cell
string val = ws["A4"].Value.ToString();
Console.WriteLine("Import Value of A4 Cell address: {0}", val);
Console.WriteLine("import Values in Range From B3 To B9 :\n");
// Import data in specific range
foreach (var item in ws["B3:B9"])
{
Console.WriteLine(item.Value.ToString());
}
Console.ReadKey();
```
El código anterior muestra la siguiente salida:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/1output.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/1output.png" alt="Salida de consola que muestra los resultados de importación del rango B3:B9 de Excel con el valor Midmarket y la lista de países que incluye Alemania, México y Canadá" class="img-responsive add-shadow" /></a>
</div>
</center>
Con los valores del archivo Excel `sample.xlsx` como:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/1excel.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/1excel.png" alt="Hoja de cálculo Excel con datos de ventas que muestra celdas resaltadas en azul para la selección de rangos durante el proceso de importación" class="img-responsive add-shadow" /></a>
</div>
</center>
<hr class="separator" />
## Importación de datos de Excel mediante funciones agregadas
### Funciones agregadas disponibles
Aplicar funciones de agregación a archivos de Excel e importar los datos resultantes de estas funciones. IronXL ofrece funciones matemáticas integradas que facilitan el análisis de datos. A continuación se ofrecen ejemplos de diferentes funciones y su uso:
- `Sum()`
```csharp
// To find the sum of a specific cell range
var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
```
- `Average()`
```csharp
// To find the average of a specific cell range
var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
```
- `Min()`
```csharp
// To find the minimum in a specific cell range
var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
```
- `Max()`
```csharp
// To find the maximum in a specific cell range
var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
```
### Uso conjunto de varias funciones agregadas
Obtenga más información sobre cómo trabajar con funciones agregadas en Excel para C# y aprenda más sobre cómo extraer datos con diferentes métodos. Estas funciones son especialmente útiles para generar estadísticas resumidas o validar datos importados.
Vea un ejemplo de importación de datos de archivos Excel aplicando estas funciones:
```csharp
using IronXL;
using System;
// Import Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel file data by applying aggregate functions
decimal sum = ws["D2:D9"].Sum();
decimal avg = ws["D2:D9"].Avg();
decimal min = ws["D2:D9"].Min();
decimal max = ws["D2:D9"].Max();
Console.WriteLine("Sum From D2 To D9: {0}", sum);
Console.WriteLine("Avg From D2 To D9: {0}", avg);
Console.WriteLine("Min From D2 To D9: {0}", min);
Console.WriteLine("Max From D2 To D9: {0}", max);
Console.ReadKey();
```
El código anterior nos da este resultado:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/2output.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/2output.png" alt="Salida de consola que muestra funciones agregadas de Excel: Sum=452, Avg=56.5, Min=5, Max=350 para el rango D2 a D9" class="img-responsive add-shadow" /></a>
</div>
</center>
Y nuestro archivo `sample.xlsx` contiene estos valores:
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/csharp-import-excel/2excel.png" target="_blank"><img src="/img/faq/excel/csharp-import-excel/2excel.png" alt="Hoja de cálculo Excel con datos de ventas en la que aparece resaltada la columna Precio de venta que contiene valores para el análisis de funciones agregadas" class="img-responsive add-shadow" /></a>
</div>
</center>
<hr class="separator" />
## Importación de datos completos de archivos Excel
### El método ToDataSet
Para importar datos completos de un archivo Excel en un proyecto de C#, primero analice el `WorkBook` cargado en un `DataSet`. De esta manera, los datos completos de Excel se importan en el `DataSet`, y `WorkSheets` en los archivos Excel se convierten en `DataTables` dentro de ese `DataSet`. Este enfoque es especialmente útil para las operaciones con bases de datos o cuando se trabaja con controles vinculados a datos. Aprenda más sobre importar y exportar como `DataSet`.
```csharp
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
```
Esto importa nuestro `WorkSheet` especificado en un `DataSet` para uso según los requisitos. Este método es especialmente eficaz cuando se trabaja con varias hojas simultáneamente o cuando se integran datos de Excel con operaciones ADO.NET.
### Cabeceras de columna
A menudo, la primera fila de un archivo Excel sirve como nombre de columna. En este caso, haga que la primera fila `DataTable` nombres de columna. Establezca el parámetro booleano de la función `ToDataSet()` de IronXL de la siguiente manera:
```csharp
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
```
Esto hace que la primera fila del archivo Excel `DataTable` nombres de columna, lo cual es esencial para mantener la integridad de la estructura de datos al trabajar con datos estructurados de Excel.
### Ejemplo completo de importación de un conjunto de datos
Vea un ejemplo completo de importación de datos de Excel en un `DataSet` y usando la primera fila de un Excel `WorkSheet` como `DataTable` nombres de columna:
```csharp
using IronXL;
using System;
using System.Data;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel data into a DataSet
DataSet ds = wb.ToDataSet(true);
Console.WriteLine("Excel file data imported to dataset successfully.");
Console.ReadKey();
```
Trabajar con funciones de Excel `Dataset` y `DataTable` puede ser complejo, pero tenemos más ejemplos disponibles para incorporar datos de archivos en su proyecto C#. Para escenarios avanzados, considere explorar nuestras guías sobre Excel a SQL a través de `DataTable` y cargar Excel desde una base de datos SQL.
<hr class="separator" />
<h4 class="tutorial-segment-title">Acceso rápido a la biblioteca</h4>
<div class="tutorial-section">
<div class="row">
<div class="col-sm-8">
<h3>Explora la referencia IronXL</h3>
<p>Obtenga más información sobre cómo extraer datos de Excel a través de celdas, rangos, conjuntos de datos y tablas de datos en nuestra documentación completa Referencia de la API para IronXL.</p>
<a class="doc-link" href="/csharp/excel/object-reference/api/" target="_blank"> Explora la referencia 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>
IronXL permite a los desarrolladores de C# importar datos de Excel con una sola línea de código, ya que admite XLSX, CSV y otros formatos sin dependencias de Interop, lo que permite el acceso inmediato a celdas, rangos y hojas de cálculo para la manipulación de datos.
Inicio rápido: Cargar Instantáneamente tu Archivo Excel
Con sólo una llamada al método que utiliza la API sin tiempo de espera de IronXL, puede cargar cualquier hoja de Excel compatible (XLSX, CSV, etc.) en cuestión de segundos, sin Interop, sin complicaciones. Comienza a interactuar con el libro de trabajo inmediatamente accediendo a celdas, rangos o hojas según sea necesario.
Utilice el método Load para importar una hoja de cálculo
Edite el archivo Excel cargado utilizando APIs intuitivas
Exporte el archivo Excel editado en varios tipos
Paso 1
Instalación de la biblioteca IronXL
IronXL facilita la importación de Excel
Importar datos usando las funciones proporcionadas por la biblioteca de Excel de IronXL, que utilizaremos en este tutorial. El software está disponible de forma gratuita para el desarrollo. IronXL proporciona una completa C# Excel API que simplifica el trabajo con archivos de Excel sin necesidad de dependencias de Microsoft Office o Interop. Esto lo hace ideal para entornos de servidor y despliegues en la nube.
Para las necesidades de nuestro proyecto de hoy, vamos a importar datos de Excel en nuestra aplicación C# utilizando el software IronXL instalado en el paso 1. La biblioteca admite varios formatos de Excel y proporciona métodos intuitivos para cargar hojas de cálculo.
Para el paso 2, cargaremos nuestro Excel WorkBook en nuestro proyecto de C# utilizando la función WorkBook.Load() de IronXL. Pasamos la ruta del Excel WorkBook como un parámetro de tipo cadena en esta función:
' Load Excel file
Dim wb As WorkBook = WorkBook.Load("Path")
El archivo Excel en la ruta especificada se cargará en wb. Este método es compatible con XLSX, XLS, CSV, TSV y otros formatos comunes de hoja de cálculo.
Acceso a una hoja de trabajo específica
A continuación, necesitamos acceder a un WorkSheet específico del archivo Excel cuyos datos se importarán al proyecto. Para este propósito, podemos usar la función GetWorkSheet() de IronXL, pasando el nombre de la hoja como un parámetro de tipo cadena para especificar qué hoja del WorkBook importar. Más información sobre la gestión de hojas de trabajo en nuestra guía completa.
// Specify sheet name of Excel WorkBookWorkSheet ws = wb.GetWorkSheet("SheetName");
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
' Specify sheet name of Excel WorkBookDim ws AsWorkSheet = wb.GetWorkSheet("SheetName")
' Specify sheet name of Excel WorkBook
Dim ws As WorkSheet = wb.GetWorkSheet("SheetName")
El WorkSheet se importará como ws, y wb es el WorkBook que definimos en el ejemplo de código anterior.
Métodos alternativos para acceder a las hojas de trabajo
Existen las siguientes formas alternativas para importar un Excel WorkSheet en el proyecto. Cada método ofrece flexibilidad en función de su caso de uso específico:
// Import WorkSheet by various methods// by sheet indexingWorkSheet mySheet = wb.WorkSheets[SheetIndex];// get default WorkSheetWorkSheet defaultSheet = wb.DefaultWorkSheet;// get first WorkSheetWorkSheet firstSheet = wb.WorkSheets.First();// for the first or default sheetWorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
// Import WorkSheet by various methods
// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];
// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;
// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();
// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
' Import WorkSheet by various methods' by sheet indexingDim mySheet AsWorkSheet = wb.WorkSheets(SheetIndex)' get default WorkSheetDim defaultSheet AsWorkSheet = wb.DefaultWorkSheet' get first WorkSheetDim firstSheet AsWorkSheet = wb.WorkSheets.First()' for the first or default sheetDim firstOrDefaultSheet AsWorkSheet = wb.WorkSheets.FirstOrDefault()
' Import WorkSheet by various methods
' by sheet indexing
Dim mySheet As WorkSheet = wb.WorkSheets(SheetIndex)
' get default WorkSheet
Dim defaultSheet As WorkSheet = wb.DefaultWorkSheet
' get first WorkSheet
Dim firstSheet As WorkSheet = wb.WorkSheets.First()
' for the first or default sheet
Dim firstOrDefaultSheet As WorkSheet = wb.WorkSheets.FirstOrDefault()
Ahora, podemos importar fácilmente cualquier tipo de datos de los archivos de Excel especificados. Exploremos todos los aspectos posibles para importar datos de archivos Excel en nuestro proyecto.
Importación de datos de Excel en C#
Método básico de importación de celdas
Este es el aspecto básico de importar datos de archivos de Excel en nuestro proyecto. IronXL ofrece múltiples formas de acceder a los datos de las celdas, lo que lo hace flexible para diferentes escenarios.
Para este propósito, podemos usar un sistema de direccionamiento de celdas para especificar qué datos de celda necesitamos importar. Devuelve el valor de una dirección de celda específica del archivo Excel:
var cellValue = ws["Cell Address"];
var cellValue = ws["Cell Address"];
Dim cellValue = ws("Cell Address")
Dim cellValue = ws("Cell Address")
Importación de datos mediante índices de filas y columnas
También podemos importar datos de celdas de archivos de Excel usando índices de fila y columna. Esta línea de código devuelve el valor del índice de fila y columna especificado. Este enfoque es especialmente útil cuando se itera a través de datos mediante programación:
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex)
Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex)
Almacenamiento de valores importados en variables
Para asignar valores de celda importados a variables, utilice este código. El método ToString() asegura la compatibilidad con variables de tipo cadena, pero también puede convertir a otros tipos según sea necesario:
// Import Data by Cell Address// by cell addressingstring val = ws["Cell Address"].ToString();// by row and column indexingstring valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();// for numeric valuesdecimal numericValue = ws["B2"].DecimalValue;// for date valuesDateTime dateValue = ws["C2"].DateTimeValue;
// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();
// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
// for numeric values
decimal numericValue = ws["B2"].DecimalValue;
// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
' Import Data by Cell Address' by cell addressingDim val AsString = ws("Cell Address").ToString()' by row and column indexingDim valWithIndexing AsString = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()' for numeric valuesDim numericValue AsDecimal = ws("B2").DecimalValue' for date valuesDim dateValue AsDateTime = ws("C2").DateTimeValue
' Import Data by Cell Address
' by cell addressing
Dim val As String = ws("Cell Address").ToString()
' by row and column indexing
Dim valWithIndexing As String = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()
' for numeric values
Dim numericValue As Decimal = ws("B2").DecimalValue
' for date values
Dim dateValue As DateTime = ws("C2").DateTimeValue
En los ejemplos anteriores, el índice de fila y columna comienza en 0. Para operaciones de celda más avanzadas, explore nuestra guía sobre borrar celdas y copiar celdas.
Importación de datos de un rango específico
Sintaxis de funciones de rango
Para importar datos en un rango específico de un Excel WorkBook, use la función range. Defina el rango describiendo las direcciones de las celdas inicial y final. Esto devuelve todos los valores de celda dentro del rango especificado. Para conocer todas las técnicas de selección de gamas, consulte nuestra guía de selección de gamas.
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
Dim rangeData = ws("Starting Cell Address:Ending Cell Address")
Dim rangeData = ws("Starting Cell Address:Ending Cell Address")
Ejemplo completo de importación de rangos
Para más información sobre cómo trabajar con rangos en archivos Excel y aprender más sobre cómo extraer datos con diferentes métodos. El siguiente ejemplo muestra la importación tanto de valores de celdas individuales como de rangos:
using IronXL;using System;// Import Excel WorkBookWorkBook wb = WorkBook.Load("sample.xlsx");// Specify WorkSheetWorkSheet ws = wb.GetWorkSheet("Sheet1");// Import data of specific cellstring val = ws["A4"].Value.ToString();Console.WriteLine("Import Value of A4 Cell address: {0}", val);Console.WriteLine("import Values in Range From B3 To B9 :\n");// Import data in specific rangeforeach (var item in ws["B3:B9"]){Console.WriteLine(item.Value.ToString());}Console.ReadKey();
using IronXL;
using System;
// Import Excel WorkBook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import data of specific cell
string val = ws["A4"].Value.ToString();
Console.WriteLine("Import Value of A4 Cell address: {0}", val);
Console.WriteLine("import Values in Range From B3 To B9 :\n");
// Import data in specific range
foreach (var item in ws["B3:B9"])
{
Console.WriteLine(item.Value.ToString());
}
Console.ReadKey();
ImportsIronXLImportsSystem' Import Excel WorkBookDim wb AsWorkBook = WorkBook.Load("sample.xlsx")' Specify WorkSheetDim ws AsWorkSheet = wb.GetWorkSheet("Sheet1")' Import data of specific cellDim val AsString = ws("A4").Value.ToString()Console.WriteLine("Import Value of A4 Cell address: {0}", val)Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf)' Import data in specific rangeFor Each item In ws("B3:B9")Console.WriteLine(item.Value.ToString())NextConsole.ReadKey()
Imports IronXL
Imports System
' Import Excel WorkBook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Import data of specific cell
Dim val As String = ws("A4").Value.ToString()
Console.WriteLine("Import Value of A4 Cell address: {0}", val)
Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf)
' Import data in specific range
For Each item In ws("B3:B9")
Console.WriteLine(item.Value.ToString())
Next
Console.ReadKey()
El código anterior muestra la siguiente salida:
Con los valores del archivo Excel sample.xlsx como:
Importación de datos de Excel mediante funciones agregadas
Funciones agregadas disponibles
Aplicar funciones de agregación a archivos de Excel e importar los datos resultantes de estas funciones. IronXL ofrece funciones matemáticas integradas que facilitan el análisis de datos. A continuación se ofrecen ejemplos de diferentes funciones y su uso:
Sum()
// To find the sum of a specific cell rangevar sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
// To find the sum of a specific cell range
var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
' To find the sum of a specific cell rangeDim sum = ws("Starting Cell Address:Ending Cell Address").Sum()
' To find the sum of a specific cell range
Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum()
Average()
// To find the average of a specific cell rangevar average = ws["Starting Cell Address:Ending Cell Address"].Avg();
// To find the average of a specific cell range
var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
' To find the average of a specific cell rangeDim average = ws("Starting Cell Address:Ending Cell Address").Avg()
' To find the average of a specific cell range
Dim average = ws("Starting Cell Address:Ending Cell Address").Avg()
Min()
// To find the minimum in a specific cell rangevar minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
// To find the minimum in a specific cell range
var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
' To find the minimum in a specific cell rangeDim minimum = ws("Starting Cell Address:Ending Cell Address").Min()
' To find the minimum in a specific cell range
Dim minimum = ws("Starting Cell Address:Ending Cell Address").Min()
Max()
// To find the maximum in a specific cell rangevar maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
// To find the maximum in a specific cell range
var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
' To find the maximum in a specific cell rangeDim maximum = ws("Starting Cell Address:Ending Cell Address").Max()
' To find the maximum in a specific cell range
Dim maximum = ws("Starting Cell Address:Ending Cell Address").Max()
Uso conjunto de varias funciones agregadas
Obtenga más información sobre cómo trabajar con funciones agregadas en Excel para C# y aprenda más sobre cómo extraer datos con diferentes métodos. Estas funciones son especialmente útiles para generar estadísticas resumidas o validar datos importados.
Vea un ejemplo de importación de datos de archivos Excel aplicando estas funciones:
using IronXL;using System;// Import Excel fileWorkBook wb = WorkBook.Load("sample.xlsx");// Specify WorkSheetWorkSheet ws = wb.GetWorkSheet("Sheet1");// Import Excel file data by applying aggregate functionsdecimal sum = ws["D2:D9"].Sum();decimal avg = ws["D2:D9"].Avg();decimal min = ws["D2:D9"].Min();decimal max = ws["D2:D9"].Max();Console.WriteLine("Sum From D2 To D9: {0}", sum);Console.WriteLine("Avg From D2 To D9: {0}", avg);Console.WriteLine("Min From D2 To D9: {0}", min);Console.WriteLine("Max From D2 To D9: {0}", max);Console.ReadKey();
using IronXL;
using System;
// Import Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel file data by applying aggregate functions
decimal sum = ws["D2:D9"].Sum();
decimal avg = ws["D2:D9"].Avg();
decimal min = ws["D2:D9"].Min();
decimal max = ws["D2:D9"].Max();
Console.WriteLine("Sum From D2 To D9: {0}", sum);
Console.WriteLine("Avg From D2 To D9: {0}", avg);
Console.WriteLine("Min From D2 To D9: {0}", min);
Console.WriteLine("Max From D2 To D9: {0}", max);
Console.ReadKey();
ImportsIronXLImportsSystem' Import Excel fileDim wb AsWorkBook = WorkBook.Load("sample.xlsx")' Specify WorkSheetDim ws AsWorkSheet = wb.GetWorkSheet("Sheet1")' Import Excel file data by applying aggregate functionsDim sum AsDecimal = ws("D2:D9").Sum()Dim avg AsDecimal = ws("D2:D9").Avg()Dim min AsDecimal = ws("D2:D9").Min()Dim max AsDecimal = ws("D2:D9").Max()Console.WriteLine("Sum From D2 To D9: {0}", sum)Console.WriteLine("Avg From D2 To D9: {0}", avg)Console.WriteLine("Min From D2 To D9: {0}", min)Console.WriteLine("Max From D2 To D9: {0}", max)Console.ReadKey()
Imports IronXL
Imports System
' Import Excel file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Import Excel file data by applying aggregate functions
Dim sum As Decimal = ws("D2:D9").Sum()
Dim avg As Decimal = ws("D2:D9").Avg()
Dim min As Decimal = ws("D2:D9").Min()
Dim max As Decimal = ws("D2:D9").Max()
Console.WriteLine("Sum From D2 To D9: {0}", sum)
Console.WriteLine("Avg From D2 To D9: {0}", avg)
Console.WriteLine("Min From D2 To D9: {0}", min)
Console.WriteLine("Max From D2 To D9: {0}", max)
Console.ReadKey()
El código anterior nos da este resultado:
Y nuestro archivo sample.xlsx contiene estos valores:
Importación de datos completos de archivos Excel
El método ToDataSet
Para importar datos completos de un archivo Excel en un proyecto de C#, primero analice el WorkBook cargado en un DataSet. De esta manera, los datos completos de Excel se importan en el DataSet, y WorkSheets en los archivos Excel se convierten en DataTables dentro de ese DataSet. Este enfoque es especialmente útil para las operaciones con bases de datos o cuando se trabaja con controles vinculados a datos. Aprenda más sobre importar y exportar como DataSet.
// Import WorkBook into DataSetDataSet ds = wb.ToDataSet();
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
' Import WorkBook into DataSetDim ds AsDataSet = wb.ToDataSet()
' Import WorkBook into DataSet
Dim ds As DataSet = wb.ToDataSet()
Esto importa nuestro WorkSheet especificado en un DataSet para uso según los requisitos. Este método es especialmente eficaz cuando se trabaja con varias hojas simultáneamente o cuando se integran datos de Excel con operaciones ADO.NET.
Cabeceras de columna
A menudo, la primera fila de un archivo Excel sirve como nombre de columna. En este caso, haga que la primera fila DataTable nombres de columna. Establezca el parámetro booleano de la función ToDataSet() de IronXL de la siguiente manera:
// Import WorkBook into DataSet with first row as ColumnNamesDataSet ds = wb.ToDataSet(true);
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
net
net
Esto hace que la primera fila del archivo Excel DataTable nombres de columna, lo cual es esencial para mantener la integridad de la estructura de datos al trabajar con datos estructurados de Excel.
Ejemplo completo de importación de un conjunto de datos
Vea un ejemplo completo de importación de datos de Excel en un DataSet y usando la primera fila de un Excel WorkSheet como DataTable nombres de columna:
using IronXL;using System;using System.Data;WorkBook wb = WorkBook.Load("sample.xlsx");WorkSheet ws = wb.GetWorkSheet("Sheet1");// Import Excel data into a DataSetDataSet ds = wb.ToDataSet(true);Console.WriteLine("Excel file data imported to dataset successfully.");Console.ReadKey();
using IronXL;
using System;
using System.Data;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Import Excel data into a DataSet
DataSet ds = wb.ToDataSet(true);
Console.WriteLine("Excel file data imported to dataset successfully.");
Console.ReadKey();
ImportsIronXLImportsSystemImportsSystem.DataDim wb AsWorkBook = WorkBook.Load("sample.xlsx")Dim ws AsWorkSheet = wb.GetWorkSheet("Sheet1")' Import Excel data into a DataSetDim ds AsDataSet = wb.ToDataSet(True)Console.WriteLine("Excel file data imported to dataset successfully.")Console.ReadKey()
Imports IronXL
Imports System
Imports System.Data
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Import Excel data into a DataSet
Dim ds As DataSet = wb.ToDataSet(True)
Console.WriteLine("Excel file data imported to dataset successfully.")
Console.ReadKey()
Trabajar con funciones de Excel Dataset y DataTable puede ser complejo, pero tenemos más ejemplos disponibles para incorporar datos de archivos en su proyecto C#. Para escenarios avanzados, considere explorar nuestras guías sobre Excel a SQL a través de DataTable y cargar Excel desde una base de datos SQL.
Acceso rápido a la biblioteca
Explora la referencia IronXL
Obtenga más información sobre cómo extraer datos de Excel a través de celdas, rangos, conjuntos de datos y tablas de datos en nuestra documentación completa Referencia de la API para IronXL.
¿Cómo puedo importar un archivo Excel en C# sin utilizar Microsoft Office?
Puede importar archivos de Excel en C# utilizando IronXL, que no requiere dependencias de Microsoft Office o Interop. Simplemente utilice el método WorkBook.Load() con su ruta de archivo, como: WorkBook wb = WorkBook.Load("ruta/a/datos.xlsx"). Esto funciona con XLSX, XLS, CSV, TSV y otros formatos.
¿Qué formatos de archivo de Excel puedo importar con esta biblioteca de C#?
IronXL soporta la importación de varios formatos de Excel incluyendo XLSX, XLS, CSV, TSV, y otros formatos comunes de hojas de cálculo. El mismo método WorkBook.Load() maneja todos estos formatos automáticamente.
¿Es posible importar datos de Excel en servidores o entornos en la nube?
Sí, IronXL es ideal para entornos de servidor y despliegues en la nube porque no requiere dependencias de Microsoft Office o Interop. Esto lo hace perfecto para aplicaciones web, Azure Functions y otros escenarios del lado del servidor.
¿En cuánto tiempo puedo empezar a trabajar con datos de Excel después de importarlos?
Con la API sin tiempo de espera de IronXL, puede cargar cualquier hoja de Excel compatible en cuestión de segundos con una sola línea de código. Después de usar WorkBook.Load(), puede comenzar inmediatamente a interactuar con celdas, rangos u hojas de cálculo.
¿Puedo importar rangos de celdas específicos de archivos Excel?
Sí, IronXL le permite importar datos de rangos de celdas específicos después de cargar el libro de trabajo. Puede acceder a celdas individuales, rangos u hojas de trabajo completas utilizando la intuitiva API proporcionada.
¿Cómo se instala la biblioteca de importación de Excel para C#?
Puedes instalar IronXL a través del gestor de paquetes NuGet o descargando directamente la DLL. La biblioteca está disponible de forma gratuita para el desarrollo y proporciona documentación completa para empezar.
Can the first row of an Excel file be used as column names in IronXL?
Yes, when importing Excel data into a `DataSet`, you can set the first row as column names by using the `ToDataSet(true)` method in IronXL.
How do I import numeric or date values from Excel cells using IronXL?
In IronXL, you can import numeric values using `.DecimalValue` and date values using `.DateTimeValue` from specific Excel cells to ensure they are in the correct data type.
What is the advantage of using IronXL for Excel import in C# over Interop?
IronXL requires no Interop dependencies, making it ideal for server environments and cloud deployments where Microsoft Office installation is not feasible.
Is IronXL available for free for development purposes?
Yes, IronXL is available for free for development purposes, providing a comprehensive C# Excel API to simplify working with Excel files.
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.