Tutorial de Excel en C#: Aprenda a usar la biblioteca IronXL (Sin Interop)

Una guía para leer y escribir archivos de Excel en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Leer y crear archivos de Excel (XLS, XLSX y CSV) en C# y otros lenguajes .NET es fácil usando la biblioteca de software IronXL de Iron Software.

IronXL no requiere que se instale Excel Interop en su servidor. IronXL proporciona 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

Firstly install IronXL, using our NuGet package or by downloading the DLL. IronXL classes can be found in the IronXL namespace.

La forma más fácil de instalar IronXL es utilizando el Administrador de Paquetes NuGet para Visual-Studio: El nombre del paquete es IronXL.Excel.

Install-Package IronXL.Excel

https://www.nuget.org/packages/ironxl.excel/

Leyendo un documento de Excel

Con IronXL, extraer datos de un archivo de Excel se puede hacer en 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
$vbLabelText   $csharpLabel

Creación de nuevos documentos de Excel

IronXL ofrece una interfaz rápida y sencilla para generar documentos de 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")
$vbLabelText   $csharpLabel

Exportar 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")
$vbLabelText   $csharpLabel

Dar estilo a celdas y rangos

Puede aplicar formato a 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
$vbLabelText   $csharpLabel

Rangos de clasificación

Con IronXL, puede ordenar un rango de celdas de Excel fácilmente usando 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()
$vbLabelText   $csharpLabel

Edición de fórmulas

Modificar una fórmula de Excel es tan simple como asignar un valor que comience con un signo igual (=). La fórmula se calculará instantáneamente.

: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
$vbLabelText   $csharpLabel

¿Por qué elegir IronXL?

IronXL ofrece una API amigable para desarrolladores para leer y escribir documentos de Excel en .NET. Funciona sin requerir que Microsoft Excel o Excel Interop estén instalados en el servidor, haciendo el manejo de archivos Excel rápido, ligero y sin complicaciones.

Avanzando

Para explorar más características y capacidades, le recomendamos revisar la Referencia de API .NET formateada de manera similar a la documentación de MSDN.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado