USO DE IRONXL

Cómo abrir un archivo Excel en C#

Chaknith Bin
Chaknith Bin
19 de marzo, 2023
Actualizado 6 de febrero, 2024
Compartir:

Este tutorial utilizará IronXL como herramienta principal para abrir y leer archivos Excel en proyectos C#.

Biblioteca IronXL Excel

IronXL es una biblioteca .NET que prioriza la facilidad de uso, la precisión y la velocidad para sus usuarios. Le ayuda a abrir, leer, crear y editar archivos de Excel con un rendimiento rapidísimo y sin errores. Funciona sin MS Office Interop, lo que la convierte en una potente herramienta para desarrolladores.

IronXL es compatible con todos los Frameworks .NET junto con Linux, MacOS, Docker, Azure y AWS. Se puede utilizar para crear aplicaciones de consola, web y de escritorio como Blazor y MAUI para aplicaciones web modernas. Soporta diferentes formatos de libros de trabajo como archivos XLS y XLSX, XSLT y XLSM, CSV y TSV.

Algunas características importantes de IronXL

¿Cómo abrir un fichero Excel en C#?

Requisitos previos

Para utilizar IronXL en aplicaciones C#, es necesario instalar estos componentes en el equipo local:

  1. Visual Studio - Es el IDE oficial para desarrollar aplicaciones C# .NET. Puedes descargar e instalar Visual Studio desde el sitio web de Microsoft. También puedes usar Jetbrains ReSharper & Rider.

  2. IronXL - Es la biblioteca de Excel que ayuda a trabajar con hojas de Excel en una ruta determinada en C#. Debe instalarlo en su aplicación C# antes de utilizarlo. Se puede descargar desde el sitio web de NuGet o desde la opción Gestionar paquetes NuGet en las herramientas de Visual Studio. También puedes descargar directamente el archivo .NET Excel DLL.

Añadir los espacios de nombres necesarios

Una vez que Visual Studio e IronXL estén instalados, se necesitan namespaces de IronXL para referenciar en el código fuente. Agregue la siguiente línea de código en la parte superior del archivo dentro de un nuevo proyecto donde se utilizarán las funciones IronXL:

//add reference
using IronXL;
//add reference
using IronXL;
'add reference
Imports IronXL
$vbLabelText   $csharpLabel

Abrir un archivo Excel existente en C#

Los archivos de Excel también se conocen como libros de trabajo. Cada libro de trabajo contiene varias hojas de trabajo, y cada hoja de trabajo contiene valores de celda. Para abrir y leer un archivo de Excel, debe cargarse utilizando el método WorkBook de la clase Load.

//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
'Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
$vbLabelText   $csharpLabel

Esto abre el archivo de Excel en la variable de referencia de instancia WorkBook. Puede tener múltiples hojas de trabajo, por lo que se puede usar para abrir una WorkSheet específica o todas a la vez. El siguiente código abre el primer WorkSheet en la variable de instancia de la hoja:

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

Esto abrirá la primera hoja en un archivo Excel y ahora los datos pueden ser leídos y escritos en esta hoja.

El archivo Excel abierto aquí es:

Cómo abrir un archivo de Excel en C#, Figura 1: Archivo de Excel

Archivo de Excel

Leer archivos Excel en C#

Una vez abierto el archivo Excel, está listo para la lectura de datos. Leer datos de archivos Excel en C# usando IronXL es muy fácil y simple. Puede leer los valores de las celdas simplemente mencionando el número de referencia de la celda.

El siguiente código recupera el valor de una celda del fichero:

//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;

//Display the value
Console.WriteLine(cellValue);
//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;

//Display the value
Console.WriteLine(cellValue);
'Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet ("C2").IntValue

'Display the value
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

El resultado es el siguiente:

Cómo abrir un archivo de Excel en C#, Figura 2: Leer Excel

Leer Excel

Ahora, vamos a leer datos de un rango de celdas en el archivo Excel abierto. El código es el siguiente:

// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Range of cells elegantly.
For Each cell In sheet ("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

Se accede al valor de la celda dentro del rango de celdas A2 - A6 utilizando un bucle for. Cada valor se imprime en la consola.

Cómo Abrir un Archivo de Excel en C#, Figura 3: Leer Rango de Celdas

Leer rango de celdas

Para un trabajo detallado de lectura y escritura de valores en celdas, consulte el tutorial leer archivo Excel en otro ejemplo de C#.

Crear un nuevo libro de trabajo

IronXL también ayuda en la creación de nuevos libros, que luego pueden usarse para guardar y recuperar datos.

Al igual que cargar los archivos de Excel, crear archivos de Excel también es muy fácil y se puede hacer utilizando sólo una línea de código.

WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

Vamos a crear una hoja de cálculo y a añadirle algunos datos para utilizarlos más adelante.

Crear una nueva hoja de cálculo

WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
$vbLabelText   $csharpLabel

La línea de código mostrada arriba crea una hoja de trabajo llamada "GDPByCountry" en el libro actualmente cargado y ahora puede agregar valores a las celdas en la WorkSheet actual.

El siguiente código añade un valor a la celda A1:

workSheet ["A1"].Value = "Example";
workSheet ["A1"].Value = "Example";
workSheet ("A1").Value = "Example"
$vbLabelText   $csharpLabel

El resultado final es el siguiente:

Cómo Abrir un Archivo de Excel en C#, Figura 4: Agregar Valor a la Celda

Agregar valor a la celda

Resumen

Este artículo demuestra cómo abrir y leer archivos de Excel como XLS, XLSX etc en C# usando IronXL. IronXL no requiere que Microsoft Excel esté instalado en el sistema para realizar todas las tareas relacionadas con Excel.

IronXL proporciona una solución para realizar todas las tareas relacionadas con Excel de manera programática, ya sea cálculo de fórmulas, ordenación de cadenas, recorte, búsqueda y reemplazo, combinación y separación, guardado de archivos, etc. También puedes establecer formatos de datos de celda.

IronXL está disponible para una prueba gratuita de 30 días y se puede licenciar para uso comercial. El paquete Lite de IronXL empieza desde $749.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo leer archivos Excel en C#
SIGUIENTE >
Cómo convertir una tabla en un rango en Excel