USO DE IRONXL

Cómo importar archivos Excel en C#

Actualizado 18 de abril, 2023
Compartir:

Microsoft Excel es un versátil programa de hojas de cálculo que ayuda a organizar, presentar y analizar datos. Sin embargo, trabajar con Excel mediante programación en C# puede resultar complicado. La biblioteca de software IronXL puede utilizarse para importar y leer archivos Excel en C#.

IronXL - Biblioteca Excel

IronXL es una biblioteca .NET Excel que prioriza la facilidad de uso, la precisión y la velocidad para sus usuarios. Te ayuda a importar y leer documentos Excel, y a crear y editar un archivo Excel de forma eficaz con un rendimiento rapidísimo. Funciona sin MS Office Interop. Esto significa que sin Excel instalado, proporciona todas las funcionalidades para leer archivos Excel. Esto convierte a IronXL en una potente herramienta para que los desarrolladores importen y lean archivos Excel en C#.

IronXL está disponible en todas las plataformas como Windows, Linux, MacOS, Docker, Azure y AWS. Es compatible con todo .NET Framework. IronXL es una biblioteca versátil que puede integrarse en aplicaciones ASP.NET de consola, escritorio y web. Admite diferentes formatos de libros de trabajo, como archivos XLS y XLSX, XSLT y XLSM, CSV y TSV.

Algunas características importantes

  • Abrir, leer archivos Excel y buscar datos de different formats of calculation sheet como archivos XLS/CSV/TSV/XLSX.
  • Exportación de hojas de cálculo de Excel a XLS/XLSX/CSV/TSV/JSON.
  • Cifrar y descifrar Archivos XLSM/XLTX/XLSX con contraseñas.
  • Importar hoja Excel como objetos System.Data.DataSet y System.Data.DataTable.
  • Archivo Excel fórmulas se recalculan cada vez que se edita una hoja.
  • Configuración intuitiva del rango de celdas con una WorkSheet ["A1:B10"] sintaxis fácil.
  • Ordenar Rangos de Celdas, Columnas y Filas.
  • Celdas de estilo - Fuente, Tamaño de fuente, Color de fondo, Frontera, Alineación y Formatos de numeración.

¿Cómo importar un libro de Excel en C#?

Requisitos previos

Para utilizar IronXL en C# para leer archivos de Excel, asegúrese de que los siguientes componentes estén instalados en la computadora:

  1. Visual Studio - Es el IDE oficial para desarrollar aplicaciones C# .NET. Puede descargar e instalar Visual Studio desde la página Sitio web de Microsoft.
  2. IronXL - Es la librería que ayuda a trabajar con hojas Excel en una ruta determinada en C#. Debe instalarse en un programa C# antes de utilizarlo. IronXL puede descargarse de Sitio web de NuGet o Gestionar paquetes NuGet en las herramientas de Visual Studio. También puede descargar el .NET Excel DLL directamente.

Añadir los espacios de nombres necesarios

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

using IronXL;  
using IronXL;  
Imports IronXL
VB   C#

Abrir un archivo Excel existente en C#

Las hojas de cálculo de Microsoft Excel también se denominan libros de Excel. Cada libro de trabajo contiene varias hojas de trabajo y una sola hoja de trabajo contiene celdas tabulares con su valor. A abrir y leer un archivo Excel debe cargarse mediante la función Libro de trabajo clase y Cargar presente en la biblioteca IronXL. El código es el siguiente:

//Los formatos de hoja de cálculo Excel compatibles para la lectura son: XLSX, XLS, CSV y TSV
WorkBook workbook = WorkBook.Load("test.xlsx");  
//Los formatos de hoja de cálculo Excel compatibles para la lectura son: XLSX, XLS, CSV y TSV
WorkBook workbook = WorkBook.Load("test.xlsx");  
'Los formatos de hoja de cálculo Excel compatibles para la lectura son: XLSX, XLS, CSV y TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
VB   C#

Esto abre el archivo Excel en la variable de referencia de instancia del libro de trabajo. Como puede tener varias hojas de cálculo, puede utilizarse para abrir una hoja concreta o todas a la vez. El siguiente código abre la primera hoja de cálculo en la variable de instancia hoja:

WorkSheet sheet = workbook.WorkSheets.First();  
WorkSheet sheet = workbook.WorkSheets.First();  
Dim sheet As WorkSheet = workbook.WorkSheets.First()
VB   C#

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

Archivo Excel abierto

Cómo importar un archivo Excel en C#, Figura 1: El archivo Excel

**El archivo Excel

Leer datos del archivo Excel importado

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

El código siguiente recupera el valor de una celda con número de referencia "C2":

//Seleccionar celdas fácilmente en Excel-notation y devolver el valor
int cellValue = sheet ["C2"].IntValue;

//Visualizar el valor
Console.WriteLine(cellValue);
//Seleccionar celdas fácilmente en Excel-notation y devolver el valor
int cellValue = sheet ["C2"].IntValue;

//Visualizar el valor
Console.WriteLine(cellValue);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

El resultado es el siguiente:

Cómo Importar un Archivo 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:

//  Lea desde Rango de celdas con elegancia.
foreach (var cell in sheet ["A2:A6"]) {
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}  
//  Lea desde Rango de celdas con elegancia.
foreach (var cell in sheet ["A2:A6"]) {
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}  
'  Lea desde Rango de celdas con elegancia.
For Each cell In sheet ("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

El código es muy sencillo, limpio y claro. El rango de celdas puede ser referenciado con una sintaxis simple como se muestra en un bucle foreach: hoja ["A2:A6"] y cada celda puede ser iterada usando un bucle for para obtener su valor. Aquí, verá los nombres en la columna A desde la fila 2 hasta la fila 6 en la salida de la consola:

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

Leer rango de celdas

Para obtener más información sobre la lectura y escritura de valores de celda, consulte este tutorial leer archivo Excel en C# ejemplo.

Importar todos los datos del archivo Excel

IronXL puede utilizarse para leer hojas de Excel de una sola vez utilizando índices de Filas y Columnas. Los siguientes ejemplos de código de IronXL ayudan a obtener todos los datos del archivo de Excel en el mismo formato en la salida de la consola:

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

//Recorrer todas las filas de Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++) {
    //Recorrer todas las columnas de una Fila específica
    for (int j = 0; j < sheet.Columns.Count(); j++) {
        //Obtener los valores 
        string val = sheet.Rows [i].Columns [j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}  
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

//Recorrer todas las filas de Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++) {
    //Recorrer todas las columnas de una Fila específica
    for (int j = 0; j < sheet.Columns.Count(); j++) {
        //Obtener los valores 
        string val = sheet.Rows [i].Columns [j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}  
Imports Microsoft.VisualBasic

Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

'Recorrer todas las filas de Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
	'Recorrer todas las columnas de una Fila específica
	For j As Integer = 0 To sheet.Columns.Count() - 1
		'Obtener los valores 
		Dim val As String = sheet.Rows (i).Columns (j).Value.ToString()
		Console.Write("{0}" & vbTab, val)
	Next j
	Console.WriteLine()
Next i
VB   C#

Archivo de salida

Cómo importar un archivo Excel en C#, Figura 4: La consola de salida para leer un archivo Excel

La consola de salida para leer un fichero Excel

Añadir texto alternativo a la imagen.

Resumen

Este artículo muestra cómo importar y leer un archivo Excel en C# sin tener instalado Microsoft Excel. A continuación, se han estudiado varias formas de leer datos de una hoja de cálculo Excel. IronXL también ayuda a crear archivos Excel en C# sin necesidad de tener Excel instalado.

IronXL proporciona una solución todo en uno para que todas las tareas relacionadas con documentos de Microsoft Excel se implementen mediante programación. Puede realizar cálculos de fórmulas, ordenar cadenas o números, recortar y añadir, buscar y reemplazar, combinar y combinar, guardar archivos, etc. Puede editar valores de celda y también establecer formatos de datos de celda junto con la validación de datos de hoja de cálculo. También es compatible con archivos CSV y le ayuda a trabajar como los datos de Excel.

IronXL está disponible para una prueba gratuita y se puede con licencia sólo para uso comercial con su paquete Lite a partir de $599.

< ANTERIOR
Cómo exportar una tabla de datos a CSV en C#
SIGUIENTE >
Cómo convertir un conjunto de datos a CSV en C#

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123