Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Microsoft Excel es un programa de hojas de cálculo que almacena y organiza datos y los presenta en diversos formatos. Es muy utilizado para datos financieros debido a sus útiles fórmulas. La biblioteca de software IronXL puede utilizarse para importar y leer archivos Excel en C#.
IronXL - Biblioteca .NET Excel es una biblioteca .NET Excel que prioriza la facilidad de uso, la precisión y la velocidad para sus usuarios. Ayuda a importar y leer documentos de Excel y a crear y editar un archivo de Excel de forma eficiente con un rendimiento rapidísimo. Funciona sin MS Office Interop. Esto significa que incluso 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 todos los .NET Frameworks. 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.
System.Data.DataSet
y System.Data.DataTable
.WorkSheet["A1:B10"]
sintaxis fácil.Para utilizar IronXL en C# para leer archivos de Excel, el primer paso es asegurarse de que los siguientes componentes están instalados en el equipo local:
Visual Studio - Es el IDE oficial para desarrollar aplicaciones C# .NET. Puede descargar e instalar Visual Studio desde la páginaPágina de descarga de Visual Studio.
Una vez que Visual Studio y IronXL están instalados, la referencia del ensamblado IronXL para utilizar IronXL debe incluirse 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
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. Aabrir y leer un archivo de Excel con IronXLdebe cargarse utilizando la clase WorkBook
y el método Load
presentes en la librería IronXL. El código es el siguiente:
//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")
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 WorkSheet
en la variable de instancia sheet
:
WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
Esto abrirá la primera hoja en el archivo de Excel, y ahora los datos de Excel se pueden leer y escribir en esta hoja.
**Archivo Excel
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":
//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)
El resultado es el siguiente:
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
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:
Leer rango de celdas
Para obtener más detalles sobre la lectura y escritura de valores de celda, consulte este tutorial enlectura de archivos Excel en C#.
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();
// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++) {
//Traverse all columns of specific Row
for (int j = 0; j < sheet.Columns.Count(); j++) {
//Get the values 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();
// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++) {
//Traverse all columns of specific Row
for (int j = 0; j < sheet.Columns.Count(); j++) {
//Get the values 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()
' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
'Traverse all columns of specific Row
For j As Integer = 0 To sheet.Columns.Count() - 1
'Get the values string
val = sheet.Rows(i).Columns(j).Value.ToString()
Console.Write("{0}" & vbTab, val)
Next j
Console.WriteLine()
Next i
El resultado de la lectura de un fichero Excel en la consola
En este artículo, aprendimos a importar y leer un archivo de Excel en C# sin tener instalado Microsoft Excel. A continuación, estudiamos 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 MS Excel se implementen mediante programación. Puedes calcular fórmulas, ordenar cadenas o números, recortar y añadir, buscar y reemplazar, combinar y combinar, guardar archivos, etc. Puedes editar valores de celdas y también establecer formatos de datos de celdas junto con la validación de datos de hojas de cálculo. También es compatible con archivos CSV y ayuda a trabajar con datos similares a los de Excel.
Pruebe IronXL gratis y explorar sus características. Puede sercon licencia para uso comercial con su paquete Lite a partir de sólo $749.
9 productos API .NET para sus documentos de oficina