Saltar al pie de página
USANDO IRONXL

Cómo abrir un archivo de Excel en C#

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

Biblioteca de Excel IronXL

IronXL es una biblioteca .NET que prioriza la facilidad de uso, precisión y velocidad para sus usuarios. Te ayuda a abrir, leer, crear y editar archivos de Excel con un rendimiento extraordinariamente rápido y sin errores. Funciona sin MS Office Interop, lo que lo convierte en una herramienta poderosa para los desarrolladores.

IronXL es compatible con todos los Frameworks de .NET junto con Linux, MacOS, Docker, Azure y AWS. Se puede usar para crear aplicaciones de consola, web y de escritorio como Blazor y MAUI para aplicaciones web modernas. Admite 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 archivo Excel en C#?

Prerrequisitos

Para usar IronXL en aplicaciones C#, instala los siguientes componentes en tu computadora local:

  1. Visual Studio - Es la 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 dada en C#. Debe instalarse en su aplicación C# antes de usarla. Puedes descargarlo desde el sitio web de NuGet o desde Administrar paquetes de NuGet en las herramientas de Visual Studio. También puedes descargar el archivo DLL de .NET Excel directamente.

Agregar espacios de nombres necesarios

Una vez que Visual Studio e IronXL estén instalados, agrega los espacios de nombres necesarios de IronXL incluyendo la siguiente línea en la parte superior de tu archivo C#:

// Add reference to the IronXL library
using IronXL;
// Add reference to the IronXL library
using IronXL;
' Add reference to the IronXL library
Imports IronXL
$vbLabelText   $csharpLabel

Abrir un archivo de Excel existente en C

Los archivos de Excel, también conocidos como libros de trabajo, consisten en múltiples hojas de trabajo, cada una con valores de celda. Para abrir y leer un archivo de Excel, cárgalo usando 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 inicializa el libro de trabajo como una instancia de WorkBook. Para abrir un WorkSheet específico, recupéralo de la colección WorkSheets:

// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

Esto accede a la primera hoja en el archivo de Excel, lista para lectura y escritura.

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

Leer archivos de Excel en C

Una vez que el archivo de Excel está abierto, está listo para la lectura de datos. Leer datos de archivos de Excel en C# usando IronXL es sencillo. Puedes leer valores de celda especificando la referencia de la celda.

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

// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;

// Display the value in the console
Console.WriteLine(cellValue);
// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;

// Display the value in the console
Console.WriteLine(cellValue);
' Select the cell using Excel notation and retrieve its integer value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value in the console
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

Para leer datos de un rango de celdas, usa un bucle para iterar a través del rango especificado:

// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Iterate through a range of cells and display their address and text content
For Each cell In sheet("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

Cada valor en el rango de celdas A2:A6 se accede y 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 ejemplos más detallados de lectura y escritura, consulta el tutorial de lectura de Excel en C#.

Crear un nuevo libro de trabajo

IronXL también facilita crear nuevos libros de trabajo para guardar y recuperar datos.

Puedes crear un nuevo archivo de Excel con una sola línea de código:

// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
' Create a new workbook with the XLSX format
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

A continuación, crea una hoja de trabajo y añade datos a ella.

Crear una nueva hoja de trabajo

// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
' Create a worksheet named "GDPByCountry" in the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
$vbLabelText   $csharpLabel

Este código añade una hoja de trabajo llamada "GDPByCountry" al libro de trabajo, permitiéndote añadir valores a celdas.

Para establecer un valor para una celda específica, utiliza el siguiente código:

// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
' Set the value of cell A1 to "Example"
workSheet("A1").Value = "Example"
$vbLabelText   $csharpLabel

El resultado final es:

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

Resumen

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

IronXL proporciona una solución integral para tareas relacionadas con Excel programáticamente, incluyendo cálculo de fórmulas, ordenación de cadenas, recorte, búsqueda y reemplazo, combinación y separación, guardado de archivos y más. También puede 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 comienza desde $799.

Preguntas Frecuentes

¿Cómo puedo abrir archivos de Excel en C# sin usar Interop?

Puede abrir archivos de Excel en C# sin usar Interop utilizando la biblioteca IronXL. Use el método WorkBook.Load para cargar un archivo de Excel en una instancia de WorkBook, lo que le permite acceder y manipular datos dentro del archivo.

¿Qué formatos de archivo son compatibles con esta biblioteca de Excel para C#?

IronXL admite una variedad de formatos de archivo de Excel, incluidos XLS, XLSX, CSV y TSV. Esto permite a los desarrolladores abrir, leer y escribir en estos formatos de manera flexible dentro de sus aplicaciones C#.

¿Puedo editar archivos de Excel en C# usando esta biblioteca?

Sí, puede editar archivos de Excel usando IronXL. Después de cargar un libro de trabajo, puede modificar datos, agregar nuevas hojas de trabajo y luego guardar los cambios en el archivo o exportarlo en varios formatos.

¿Cómo instalo esta biblioteca para usarla en mi proyecto C#?

Para instalar IronXL en su proyecto C#, puede usar el Administrador de paquetes NuGet en Visual Studio para agregar la biblioteca. Alternativamente, puede descargar el DLL de Excel para .NET y hacer referencia a él en su proyecto.

¿Es posible cifrar archivos de Excel con esta biblioteca?

Sí, IronXL le permite cifrar y descifrar archivos de Excel. Puede asegurar sus documentos de Excel con contraseñas para proteger datos sensibles durante las operaciones de archivo.

¿Esta biblioteca admite recálculos de fórmulas en hojas de Excel?

IronXL admite recálculos automáticos de fórmulas, asegurando que cualquier cambio en los datos actualice automáticamente las fórmulas, como en Excel.

¿Cómo puedo leer valores de celdas específicas en una hoja de trabajo de Excel usando esta biblioteca?

Para leer valores de celdas específicas utilizando IronXL, puede hacer referencia a la celda utilizando la notación de Excel. Por ejemplo, sheet["A1"].StringValue recuperará el valor de cadena de la celda A1.

¿Puede esta biblioteca ser utilizada a través de diferentes sistemas operativos?

Sí, IronXL es compatible con múltiples sistemas operativos, incluidos Windows, Linux y macOS. También admite la implementación en entornos Docker, Azure y AWS.

¿Cuáles son las ventajas de usar esta biblioteca sobre MS Office Interop?

IronXL ofrece varias ventajas sobre MS Office Interop, como no requerir que Excel esté instalado en el sistema, mejor rendimiento en entornos de servidor y facilidad de uso con aplicaciones modernas .NET.

¿Hay una prueba gratuita disponible para esta biblioteca de Excel en C#?

Sí, IronXL ofrece una prueba gratuita de 30 días, permitiéndole probar sus características y capacidades antes de decidir sobre una licencia comercial para sus proyectos.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más