IRONSOFTWAREHOME
USANDO IRONXL

Cómo gestionar rangos de Excel en C#

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Trabajar con archivos de Excel programáticamente puede mejorar significativamente la eficiencia y las capacidades de automatización de tus aplicaciones en C#. Ya sea generando informes, procesando datos o creando hojas de cálculo complejas dinámicamente, dominar la manipulación de archivos de Excel es crucial. En este tutorial, nos centraremos en trabajar con rangos de Excel usando IronXL. Cubrirá cómo escribir, leer y manipular rangos dentro de un archivo de Excel.

How to Read Excel Ranges in C#

  1. Instalar la biblioteca de IronXL para manejar archivos de Excel.
  2. Cargar el libro de trabajo y especificar la hoja de trabajo.
  3. Seleccionar el rango de celdas para leer.
  4. Extraer y leer datos del rango especificado.

¿Qué es IronXL?

IronXL es una biblioteca integral para C# que simplifica el trabajo con archivos de Excel, ofreciendo una variedad de características para la integración y manipulación sin interrupciones de datos de hojas de cálculo. Sus capacidades incluyen leer, escribir y modificar archivos de Excel sin requerir la instalación de Microsoft Excel, permitiendo la compatibilidad multiplataforma.

IronXL facilita la extracción de datos de celdas específicas, rangos o hojas de trabajo completas, junto con funcionalidades avanzadas como formatos, estilos y formatos condicionales. Con soporte para cálculos, fórmulas y análisis estadísticos, IronXL capacita a los desarrolladores para manejar eficientemente las operaciones de Excel programáticamente, haciéndolo una herramienta indispensable para automatizar tareas centradas en datos dentro de aplicaciones C#.

Getting Started with Excel Range of cells in C#

En primer lugar, necesitamos instalar la Biblioteca IronXL en nuestra Aplicación.

Instalar el paquete NuGet IronXL

Puedes instalar IronXL a través del Administrador de Paquetes NuGet con el siguiente comando:

PM > Install-Package IronXL.Excel

El comando anterior instalará IronXL con todas sus dependencias.

Cómo gestionar rangos de Excel en C#: Figura 1

Agregar espacio de nombres

Agrega el siguiente namespace en la parte superior de la clase Program.cs, o donde quieras usar los métodos de IronXL.

using IronXL;

Cargar libro de Excel

El primer paso es cargar el libro de trabajo de Excel. El siguiente código cargará el libro de trabajo de Excel en nuestra aplicación.

static void Main(string[] args)
{
    // Load an existing Excel workbook
    var workbook = WorkBook.Load("test_excel.xlsx");
    
    // Retrieve the specified worksheet from the workbook
    var sheet = workbook.GetWorkSheet("Sheet1");
}

La primera línea carga un libro de trabajo de Excel existente del archivo llamado "test_excel.xlsx". La segunda línea recupera la hoja de trabajo llamada "Sheet1" del libro de trabajo cargado.

Estaré usando el siguiente archivo de Excel a lo largo de este tutorial.

Cómo gestionar rangos de Excel en C#: Figura 2

Lectura de datos de un rango

Ahora, leamos datos de rangos de celdas especificados.

// Define a range from cell A2 to G10 in the worksheet
var range = sheet["A2:G10"];

// Iterate over each cell in the range and output its value
foreach (var item in range)
{
    Console.WriteLine(item);
}

La primera línea selecciona una dirección de rango específico (A2 a G10) en la hoja de trabajo, permitiéndote trabajar con múltiples celdas de Excel simultáneamente. El foreach (var item in range) bucle itera sobre cada celda dentro de este rango de celdas, permitiendo un procesamiento eficiente de datos.

Al usar Console.WriteLine(item);, el código imprime el valor de cada celda en la consola, facilitando la revisión del contenido del rango. Este enfoque simplifica la manipulación de datos y mejora la legibilidad del código.

Usar fórmulas de Excel en el rango

Seleccionemos un rango específico e implementemos algunas fórmulas de Excel.

// Define a range from cell F2 to F42 for statistical analysis
var range = sheet["F2:F42"];

// Output the minimum age within the range
Console.WriteLine($"Minimum Age: {range.Min()}");

// Output the maximum age within the range
Console.WriteLine($"Maximum Age: {range.Max()}");

// Output the average age, casting the average value to an integer
Console.WriteLine($"Average Age: {(int)range.Avg()}");

El código var range = sheet["F2:F42"]; selecciona un rango de celdas que abarca desde F2 hasta F42, facilitando el análisis estadístico de datos de edad. Usando range.Min() y range.Max(), calcula eficientemente los valores mínimo y máximo de edad dentro del rango especificado, ayudando en los conocimientos demográficos.

Además, range.Avg() calcula la edad promedio, ofreciendo métricas estadísticas valiosas para la interpretación de datos. Este enfoque simplifica las tareas de análisis de datos, proporcionando acceso rápido a información estadística esencial para la toma informada de decisiones.

Cómo gestionar rangos de Excel en C#: Figura 3

Lectura de datos de una sola célula

Leamos datos de una única celda.

// Retrieve the value from cell B2 in the worksheet
var read_from_single_cell = sheet["B2"];

// Output the value in cell B2
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");

El código var read_from_single_cell = sheet["B2"]; recupera el valor almacenado en la celda B2 de la hoja de cálculo. Usando este enfoque, puedes acceder fácilmente a valores de celdas específicas dentro del archivo de Excel.

Con Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");, el código imprime el valor recuperado de celdas referenciadas en la consola, facilitando la verificación de datos y la depuración. Esto simplifica el proceso de recuperar y mostrar valores individuales de celdas de archivos de Excel.

Cómo gestionar rangos de Excel en C#: Figura 4

Lectura de datos de toda la columna

Leamos Datos de una columna completa usando el Índice.

// Retrieve values from the column at index 2 (C column) 
var columnValues = sheet.GetColumn(2); // 2 is column index

// Iterate over each value in the column and output it
foreach (var columnValue in columnValues)
{
    Console.WriteLine(columnValue);
}

El código var columnValues = sheet.GetColumn(2); recupera todos los valores de la columna ubicada en el índice 2 (columna C) en la hoja de cálculo. Esto te permite acceder eficientemente a todos los valores dentro de una columna específica de la hoja de Excel.

A través del bucle foreach iterando sobre columnValues, cada valor en la columna se imprime en la consola usando Console.WriteLine(columnValue);. Este enfoque facilita el procesamiento y visualización de datos columnarios de archivos de Excel, optimizando las tareas de análisis de datos.

Cómo gestionar rangos de Excel en C#: Figura 5

Alternativamente, también podemos leer datos de una columna usando un Nombre de Columna en lugar de un índice. Considera el siguiente ejemplo:

// Retrieve values from the column with name "C"
var columnValues = sheet.GetColumn("C");

De esta manera, podemos especificar varias columnas.

Lectura de datos de toda la fila

Leamos datos de toda una fila usando números de fila.

// Retrieve values from the row at index 1 (Row 2)
var rowValues = sheet.GetRow(1); // 1 is row index

// Iterate over each value in the row and output it
foreach (var rowValue in rowValues)
{
    Console.Write(rowValue + "  ");
}

El código var rowValues = sheet.GetRow(1); recupera todos los valores de una única fila ubicada en el índice 1 (Fila 2) en la hoja de cálculo, permitiendo un acceso eficiente a los datos específicos de la fila. A través del bucle foreach iterando sobre rowValues, cada valor en la fila se imprime en la consola usando Console.Write(rowValue + " ");.

Este enfoque simplifica la extracción y visualización de datos de fila de archivos de Excel, ayudando en tareas de análisis y generación de informes de datos. De esta manera, podemos leer valores de múltiples celdas sin especificar un rango.

Cómo gestionar rangos de Excel en C#: Figura 6

Escribir datos en una celda o un rango

Podemos escribir datos tanto a celdas como a rangos. Primero, escribiremos datos a un rango.

// Select a range from D2 to D14 for modification
var range = sheet["D2:D14"];

// Set the value for each cell in the range
range.Value = "Prefer Not to Say"; // Change Gender Value

// Save the modified workbook to persist changes
workbook.Save();

El código var range = sheet["D2:D14"]; selecciona un rango que abarca desde la celda D2 hasta la D14, permitiendo la modificación masiva de datos. Al establecer range.Value a "Prefiere no decir", actualiza eficientemente el valor de género para cada celda dentro del rango especificado, minimizando tareas repetitivas.

El comando workbook.Save(); subsecuente asegura el almacenamiento persistente de estos cambios, manteniendo la consistencia e integridad de los datos. Este enfoque simplifica las actualizaciones en lote y asegura uniformidad a través de múltiples celdas, mejorando la eficiencia en la gestión de datos.

Ahora, escribamos datos a una celda específica.

// Set the value for cell B2
sheet["B2"].Value = "John";

// Save the workbook to persist the changes
workbook.Save();

El código sheet["B2"].Value = "John"; asigna directamente el valor "John" a la celda B2 en la hoja de cálculo Excel, ofreciendo un método conciso y directo para actualizar valores específicos de celdas. Este enfoque agiliza el proceso de modificar contenidos individuales de celdas, mejorando la legibilidad y eficiencia del código.

Cómo gestionar rangos de Excel en C#: Figura 7 - Rango de Excel en C#

Conclusión

En conclusión, dominar las operaciones de rango de Excel en C# usando IronXL mejora significativamente la eficiencia y capacidades de automatización de aplicaciones, facilitando tareas como el procesamiento de datos, generación de informes y creación dinámica de hojas de cálculo.

Con las poderosas características de IronXL para leer, escribir y manipular archivos de Excel, los desarrolladores pueden optimizar los procesos de manejo de datos y aprovechar funcionalidades avanzadas como fórmulas, formatos y análisis estadísticos. Además, IronXL ofrece una prueba gratuita, asegurando flexibilidad y escalabilidad para varios requisitos de proyecto.

Curtis Chau
Escritor Técnico

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

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta