Una guía para leer y escribir archivos de Excel en C
Leer y crear archivos de Excel (XLS, XLSX y CSV) en C# y en todos los demás lenguajes .NET es fácil con la biblioteca de software IronXL de Iron Software.
IronXL no requiere que Excel Interop esté instalado en su servidor. IronXL ofrece una API más rápida e intuitiva que Microsoft.Office.Interop.Excel.
IronXL funciona en las siguientes plataformas:
- .NET Framework 4.6.2 y superior para Windows y Azure
- .NET Core 2 y superior para Windows, Linux, MacOS y Azure
-
.NET 5, .NET 6, .NET 7, .NET 8, Mono, Maui, y Xamarin
Instalar IronXL
Primero, instala IronXL, utilizando nuestro paquete NuGet o descargando el DLL. Las clases de IronXL se pueden encontrar en el espacio de nombres IronXL
.
La forma más sencilla de instalar IronXL es utilizando el gestor de paquetes NuGet para Visual-Studio:
El nombre del paquete es IronXL.Excel.
Install-Package IronXL.Excel
https://www.nuget.org/packages/ironxl.excel/
Lectura de un documento Excel
Con IronXL, extraer datos de un archivo Excel se puede hacer con solo unas pocas líneas de código.
:path=/static-assets/excel/content-code-examples/get-started/get-started-1.cs
using IronXL;
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();
// Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = workSheet["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in workSheet["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
Imports IronXL
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("data.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()
' Select cells easily in Excel notation and return the calculated value, date, text or formula
Private cellValue As Integer = workSheet("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In workSheet("A2:B10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
Creación de nuevos documentos Excel
IronXL ofrece una interfaz rápida y sencilla para generar documentos Excel usando C# o VB.NET.
:path=/static-assets/excel/content-code-examples/get-started/get-started-2.cs
using IronXL;
// Create new Excel WorkBook document.
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
workBook.Metadata.Author = "IronXL";
// Add a blank WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("main_sheet");
// Add data and styles to the new worksheet
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
// Save the excel file
workBook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
' Create new Excel WorkBook document.
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
workBook.Metadata.Author = "IronXL"
' Add a blank WorkSheet
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("main_sheet")
' Add data and styles to the new worksheet
workSheet("A1").Value = "Hello World"
workSheet("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
' Save the excel file
workBook.SaveAs("NewExcelFile.xlsx")
Exportación como CSV, XLS, XLSX, JSON o XML
IronXL también le permite guardar o exportar datos a una variedad de formatos de hoja de cálculo estructurados populares.
:path=/static-assets/excel/content-code-examples/get-started/get-started-3.cs
// Export to many formats with fluent saving
workSheet.SaveAs("NewExcelFile.xls");
workSheet.SaveAs("NewExcelFile.xlsx");
workSheet.SaveAsCsv("NewExcelFile.csv");
workSheet.SaveAsJson("NewExcelFile.json");
workSheet.SaveAsXml("NewExcelFile.xml");
' Export to many formats with fluent saving
workSheet.SaveAs("NewExcelFile.xls")
workSheet.SaveAs("NewExcelFile.xlsx")
workSheet.SaveAsCsv("NewExcelFile.csv")
workSheet.SaveAsJson("NewExcelFile.json")
workSheet.SaveAsXml("NewExcelFile.xml")
Estilización de celdas y rangos
Puedes aplicar formato a las celdas y rangos de Excel usando el objeto IronXL.Range.Style.
:path=/static-assets/excel/content-code-examples/get-started/get-started-4.cs
// Set cell's value and styles
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
' Set cell's value and styles
workSheet("A1").Value = "Hello World"
workSheet("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
Rangos de clasificación
Con IronXL, puedes ordenar fácilmente un rango de celdas de Excel utilizando el objeto Range.
:path=/static-assets/excel/content-code-examples/get-started/get-started-5.cs
using IronXL;
WorkBook workBook = WorkBook.Load("test.xls");
WorkSheet workSheet = workBook.WorkSheets.First();
// This is how we get range from Excel worksheet
Range range = workSheet["A2:A8"];
// Sort the range in the sheet
range.SortAscending();
workBook.Save();
Imports IronXL
Private workBook As WorkBook = WorkBook.Load("test.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()
' This is how we get range from Excel worksheet
Private range As Range = workSheet("A2:A8")
' Sort the range in the sheet
range.SortAscending()
workBook.Save()
Edición de fórmulas
Modificar una fórmula de Excel es tan sencillo como asignar un valor que comience con un signo "=". La fórmula se calculará al instante.
:path=/static-assets/excel/content-code-examples/get-started/get-started-6.cs
// Set a formula
workSheet["A1"].Value = "=SUM(A2:A10)";
// Get the calculated value
decimal sum = workSheet["A1"].DecimalValue;
' Set a formula
workSheet("A1").Value = "=SUM(A2:A10)"
' Get the calculated value
Dim sum As Decimal = workSheet("A1").DecimalValue
¿Por qué elegir IronXL?
IronXL ofrece una API amigable para desarrolladores para leer y escribir documentos Excel en .NET.
Funciona sin requerir que Microsoft Excel o Excel Interop estén instalados en el servidor, lo que hace que el manejo de archivos Excel sea rápido, ligero y sin complicaciones.
Avanzar
Para explorar más características y capacidades, recomendamos revisar la Referencia de API .NET con un formato similar a la documentación de MSDN.