Abrir hojas de cálculo de Excel en C# con IronXL

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

Aprende cómo usar C# para abrir funciones de hojas de cálculo de Excel y trabajar con hojas de cálculo de Excel y abrir todos los tipos de archivos, incluyendo (.xls, .csv, .tsv y .xlsx). Abrir una hoja de cálculo de Excel, leer sus datos y manipularlos programáticamente es esencial para muchas aplicaciones en desarrollo. Aquí hay una solución para cada desarrollador que quiera un método con menos líneas de código y tiempos de respuesta más rápidos.

Inicio rápido: Cargar un libro de trabajo y abrir una hoja de cálculo en una línea

Solo dos sencillas llamadas a métodos te permiten cargar cualquier archivo de Excel compatible y abrir una hoja de cálculo con nombre, sin necesidad de configuración compleja o interoperabilidad. Es un camino fácil para comenzar a usar IronXL, para que puedas empezar a leer o editar datos de inmediato.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Flujo de trabajo mínimo (5 pasos)

  • Instalar la biblioteca C# para abrir archivos de Excel
  • Cargue el archivo Excel en el objeto WorkBook
  • Explora muchas formas de seleccionar una hoja de trabajo desde un archivo de Excel abierto
  • Acceder a los datos de la celda a través del objeto de hoja de trabajo seleccionado
  • Obtener datos del rango de filas y columnas
How To Work related to Abrir hojas de cálculo de Excel en C# con IronXL

Paso 1

1. Acceda a la biblioteca C# de Excel

Accede a la Biblioteca Excel C# a través de DLL o instálala usando tu gestor de NuGet preferido. Una vez que hayas accedido a la biblioteca IronXL y la hayas agregado a tu proyecto, puedes usar todas las funciones a continuación para abrir hojas de cálculo de Excel en C#.

Install-Package IronXL.Excel

Tutorial de cómo hacerlo

2. Cargar archivo de Excel

Usa la función WorkBook.Load() de IronXL para cargar archivos de Excel en el proyecto. Esta función requiere un parámetro de cadena, que es la ruta del archivo de Excel que se va a abrir. Mira aquí:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-load-workbook.cs
using IronXL;

// Get a worksheet by its name
WorkSheet workSheet = workBook.GetWorkSheet("SheetName");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El archivo de Excel en la ruta especificada se cargará en el objeto workBook. Ahora, necesitamos especificar la hoja de cálculo de Excel que se abrirá.


3. Abra la hoja de cálculo de Excel

Para abrir una WorkSheet específica de un archivo de Excel, IronXL proporciona la función WorkBook.GetWorkSheet(). Usando esto, podemos abrir fácilmente la hoja de cálculo por su nombre:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-get-worksheet.cs
// Get a worksheet by its name
WorkSheet workSheet = workBook.GetWorkSheet("SheetName");
' Get a worksheet by its name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("SheetName")
$vbLabelText   $csharpLabel

La WorkSheet especificada se abrirá en workSheet con todos sus datos. También hay algunas otras maneras de abrir una WorkSheet específica de un archivo de Excel:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-multiple-open.cs
using IronXL;
using System.Linq;

// Open by sheet index
WorkSheet workSheet = workBook.WorkSheets[0];

// Open the default worksheet
WorkSheet workSheet2 = workBook.DefaultWorkSheet;

// Open the first sheet
WorkSheet workSheet3 = workBook.WorkSheets.First();

// Open the first or default sheet
WorkSheet workSheet4 = workBook.WorkSheets.FirstOrDefault();
Imports IronXL
Imports System.Linq

' Open by sheet index
Private workSheet As WorkSheet = workBook.WorkSheets(0)

' Open the default worksheet
Private workSheet2 As WorkSheet = workBook.DefaultWorkSheet

' Open the first sheet
Private workSheet3 As WorkSheet = workBook.WorkSheets.First()

' Open the first or default sheet
Private workSheet4 As WorkSheet = workBook.WorkSheets.FirstOrDefault()
$vbLabelText   $csharpLabel

Ahora, solo necesitamos obtener datos de la WorkSheet de Excel abierta.


4. Obtener datos de la hoja de trabajo

Podemos obtener datos de una WorkSheet de Excel abierta de las siguientes maneras:

  1. Obtener un valor de celda específico de la WorkSheet de Excel.
  2. Obtener datos en un rango específico.
  3. Obtener todos los datos de WorkSheet.

Veamos una por una cómo obtener datos de diferentes maneras con estos ejemplos:

4.1. Obtener un valor de celda específico

El primer enfoque para obtener datos de una WorkSheet de Excel es obtener los valores de celda específicos. Se puede acceder así:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-cell-address.cs
// Access a specific cell value by its address
string val = workSheet["Cell Address"].ToString();
' Access a specific cell value by its address
Dim val As String = workSheet("Cell Address").ToString()
$vbLabelText   $csharpLabel

workSheet es la WorkSheet del archivo de Excel, como veremos en los siguientes ejemplos. Los valores de celda específicos también se pueden acceder especificando "índice de fila" y "índice de columna".

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-cell-row.cs
// Access a cell value by row index and column index
string val = workSheet.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
' Access a cell value by row index and column index
Dim val As String = workSheet.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()
$vbLabelText   $csharpLabel

Veamos un ejemplo de cómo abrir un archivo de Excel en nuestro proyecto de C# y obtener valores de celda específicos utilizando ambos métodos:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-specified-cell.cs
using IronXL;
using System;

WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Get value By Cell Address
int intValue = workSheet["C6"].Int32Value;

// Get value by Row and Column Address
string strValue = workSheet.Rows[3].Columns[1].Value.ToString();

Console.WriteLine("Getting Value by Cell Address: {0}", intValue);
Console.WriteLine("Getting Value by Row and Column Indexes: {0}", strValue);
Imports IronXL
Imports System

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Get value By Cell Address
Private intValue As Integer = workSheet("C6").Int32Value

' Get value by Row and Column Address
Private strValue As String = workSheet.Rows(3).Columns(1).Value.ToString()

Console.WriteLine("Getting Value by Cell Address: {0}", intValue)
Console.WriteLine("Getting Value by Row and Column Indexes: {0}", strValue)
$vbLabelText   $csharpLabel

Este código muestra la siguiente salida:

1output related to 4.1. Obtener un valor de celda específico

Valor del archivo de Excel sample.xlsx en row [3].Column [1] y celda C6:

1excel related to 4.1. Obtener un valor de celda específico

Los índices de filas y columnas comienzan desde 0.

Abre WorkSheets de Excel y obtén datos de celda específicos, y puedes leer más sobre cómo leer datos de Excel en C# de hojas de cálculo de Excel ya abiertas.

4.2. Obtener datos de un rango específico

Ahora veamos cómo obtener datos en un rango específico de una WorkSheet de Excel abierta usando IronXL.

IronXL proporciona una manera inteligente de obtener datos en un rango específico. Solo especificamos valores from a to:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-range.cs
// Access data from a specific range
var rangeData = workSheet["From Cell Address : To Cell Address"];
' Access data from a specific range
Dim rangeData = workSheet("From Cell Address : To Cell Address")
$vbLabelText   $csharpLabel

Veamos un ejemplo de cómo usar el rango para obtener datos de una WorkSheet de Excel abierta:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-from-range.cs
using IronXL;
using System;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El código anterior extraerá datos de B2 a B10 de la siguiente manera:

2output related to 4.2. Obtener datos de un rango específico

Podemos ver los valores del archivo de Excel sample.xlsx, desde B2 hasta B10:

2excel related to 4.2. Obtener datos de un rango específico

4.3. Obtener datos de una fila

También podemos describir un rango para una fila específica. Por ejemplo:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-row-range.cs
var rowData = workSheet["A1:E1"];
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Esto mostrará todos los valores de A1 a E1. Lee más sobre Rangos de Excel C# y cómo trabajar con diferentes identificaciones de filas y columnas.

4.4. Obtener todos los datos de la hoja de trabajo

Obtener todos los datos de celda de la hoja de cálculo de Excel abierta también es fácil usando IronXL. Para esta tarea, necesitamos acceder a cada valor de celda por los índices de fila y columna. Veamos el siguiente ejemplo, en el que recorreremos todas las celdas de WorkSheet y accederemos a sus valores.

En este ejemplo, básicamente, están funcionando dos bucles: uno es para recorrer cada fila de la WorkSheet de Excel y el otro es para recorrer cada columna de una fila específica. De esta manera, se puede acceder fácilmente a cada valor de celda.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-all.cs
using IronXL;
using System;
using System.Linq;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample2.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Access all rows of the open Excel WorkSheet
for (int i = 0; i < workSheet.Rows.Count(); i++)
{
    // Access all columns of a specific row
    for (int j = 0; j < workSheet.Columns.Count(); j++)
    {
        // Access each cell for the specified column
        Console.WriteLine(workSheet.Rows[i].Columns[j].Value.ToString());
    }
}
Imports IronXL
Imports System
Imports System.Linq

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample2.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Access all rows of the open Excel WorkSheet
For i As Integer = 0 To workSheet.Rows.Count() - 1
	' Access all columns of a specific row
	For j As Integer = 0 To workSheet.Columns.Count() - 1
		' Access each cell for the specified column
		Console.WriteLine(workSheet.Rows(i).Columns(j).Value.ToString())
	Next j
Next i
$vbLabelText   $csharpLabel

El resultado del código anterior mostrará cada valor de celda de la WorkSheet de Excel completa abierta.


Tutorial de acceso rápido

Documentation related to Tutorial de acceso rápido

Recurso de referencia de API

Utilice el recurso de referencia de API de IronXL como guía para todas las funciones y clases para usar en sus proyectos, así como espacios de nombres, campos de métodos, enumeraciones y conjuntos de características.

Recurso de referencia de API

Preguntas Frecuentes

¿Cómo puedo abrir y manipular hojas de cálculo de Excel usando C#?

Puede abrir y manipular hojas de cálculo de Excel en C# utilizando la biblioteca IronXL. Comience instalando la biblioteca, luego cargue su archivo de Excel en un objeto WorkBook usando WorkBook.Load(). Puede seleccionar y abrir hojas de cálculo específicas con el método WorkBook.GetWorkSheet().

¿Qué tipos de archivos de Excel son soportados en C#?

En C#, puede trabajar con varios tipos de archivos de Excel como .xls, .csv, .tsv y .xlsx usando la biblioteca IronXL.

¿Cómo puedo recuperar el valor de una celda específica de una hoja de cálculo de Excel en C#?

Para recuperar el valor de una celda específica de una hoja de cálculo de Excel utilizando C#, utilice la biblioteca IronXL para acceder a las celdas por su dirección con ws["Cell Address"].ToString() o especificando índices de fila y columna usando ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString().

¿Puedo obtener datos de un rango definido de celdas en una hoja de cálculo usando C#?

Sí, puede obtener datos de un rango definido de celdas en una hoja de cálculo usando C# empleando la sintaxis de la biblioteca IronXL ws["From Cell Address : To Cell Address"] para acceder a los datos dentro del rango especificado.

¿Cómo puedo leer todos los datos de una hoja de cálculo de Excel programáticamente?

Para leer todos los datos de una hoja de cálculo de Excel programáticamente en C#, puede recorrer cada fila y columna usando la biblioteca IronXL, accediendo al valor de cada celda con ws.Rows[i].Columns[j].Value.ToString().

¿Por qué deberían los desarrolladores usar una biblioteca para manejar archivos de Excel en C#?

Usar una biblioteca como IronXL es beneficioso para los desarrolladores ya que simplifica el proceso de abrir, leer y manipular archivos de Excel dentro de proyectos de C#, proporcionando funciones y clases robustas para manejar el contenido de Excel de manera eficiente.

¿Cómo puedo instalar una biblioteca para manejar Excel en mi proyecto de C#?

Para instalar la biblioteca IronXL para manejar Excel en su proyecto de C#, use el administrador de paquetes NuGet con el comando dotnet add package IronXL.Excel.

¿Es posible abrir una hoja de cálculo por su índice en un libro de trabajo usando C#?

Sí, puedes abrir una hoja de cálculo por su índice en un libro de trabajo usando la biblioteca IronXL con la sintaxis WorkSheet ws = wb.WorkSheets[index];, donde 'index' representa la posición de la hoja de cálculo en el libro de trabajo.

¿Cómo puedo trabajar con rangos específicos de celdas en un archivo de Excel usando C#?

IronXL le permite trabajar con rangos específicos de celdas especificando rangos como "A1:E1" para acceder y manipular los datos dentro de ese rango definido en un archivo de Excel.

¿Dónde puedo encontrar más información sobre las funciones disponibles para manejar Excel en C#?

Para obtener información más detallada sobre las funciones disponibles para manejar Excel en C#, puede consultar el recurso de referencia de la API de IronXL, que proporciona documentación completa sobre funciones, clases y espacios de nombres. Visite la referencia de la API en https://Iron Software.com/csharp/excel/object-reference/api/.

Curtis Chau
Escritor Técnico

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

Leer más
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado