Archivos de hoja de cálculo Excel en aplicaciones C# y VB.NET

Lectura y creación de Excel(XLS, XLSX y CSV) en C# y todos los demás lenguajes .NET es fácil utilizando la biblioteca de software IronXL de Iron Software.

IronXL no requiere que Excel esté instalado en su servidor o Interop. 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, Mono, Mobile y Xamarin

Instalar IronXL

En primer lugar instale IronXL, utilizando nuestro paquete NuGet o mediante descargar la DLL. Las clases IronXL se encuentran en la sección IronXL espacio de nombres.

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

La lectura de datos de un archivo Excel con IronXL requiere unas pocas líneas de código.

:path=/static-assets/excel/content-code-examples/get-started/get-started-1.cs
using IronXL;

// Los formatos de hoja de cálculo compatibles para la lectura son: XLSX, XLS, CSV y TSV
WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Seleccione fácilmente celdas en notación Excel y devuelva el valor calculado, la fecha, el texto o la fórmula
int cellValue = workSheet ["A2"].IntValue;

// Lee desde Rangos de células con elegancia.
foreach (var cell in workSheet ["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
Imports IronXL

' Los formatos de hoja de cálculo compatibles para la lectura son: XLSX, XLS, CSV y TSV
Private workBook As WorkBook = WorkBook.Load("data.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Seleccione fácilmente celdas en notación Excel y devuelva el valor calculado, la fecha, el texto o la fórmula
Private cellValue As Integer = workSheet ("A2").IntValue

' Lee desde Rangos de células con elegancia.
For Each cell In workSheet ("A2:B10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

Creación de nuevos documentos Excel

Para crear documentos Excel en C# o VB.NET; IronXL ofrece una interfaz sencilla y rápida.

:path=/static-assets/excel/content-code-examples/get-started/get-started-2.cs
using IronXL;

// Crear un nuevo documento Excel WorkBook.
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
workBook.Metadata.Author = "IronXL";

// Añadir una hoja de trabajo en blanco
WorkSheet workSheet = workBook.CreateWorkSheet("main_sheet");

// Añadir datos y estilos a la nueva hoja de cálculo
workSheet ["A1"].Value = "Hello World";
workSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Guardar el archivo Excel
workBook.SaveAs("NewExcelFile.xlsx");
Imports IronXL

' Crear un nuevo documento Excel WorkBook.
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
workBook.Metadata.Author = "IronXL"

' Añadir una hoja de trabajo en blanco
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("main_sheet")

' Añadir datos y estilos a la nueva hoja de cálculo
workSheet ("A1").Value = "Hello World"
workSheet ("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet ("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double

' Guardar el archivo Excel
workBook.SaveAs("NewExcelFile.xlsx")
VB   C#

Exportación como CSV, XLS, XLSX, JSON o XML

También podemos guardar o exportar como muchos formatos de archivo de hojas de cálculo estructuradas comunes.

:path=/static-assets/excel/content-code-examples/get-started/get-started-3.cs
// Exporta a muchos formatos con un guardado fluido
workSheet.SaveAs("NewExcelFile.xls");
workSheet.SaveAs("NewExcelFile.xlsx");
workSheet.SaveAsCsv("NewExcelFile.csv");
workSheet.SaveAsJson("NewExcelFile.json");
workSheet.SaveAsXml("NewExcelFile.xml");
' Exporta a muchos formatos con un guardado fluido
workSheet.SaveAs("NewExcelFile.xls")
workSheet.SaveAs("NewExcelFile.xlsx")
workSheet.SaveAsCsv("NewExcelFile.csv")
workSheet.SaveAsJson("NewExcelFile.json")
workSheet.SaveAsXml("NewExcelFile.xml")
VB   C#

Estilización de celdas y rangos

Las celdas y rangos de Excel pueden ser estilizados utilizando el objeto IronXL.Range.Style.

:path=/static-assets/excel/content-code-examples/get-started/get-started-4.cs
// Establecer el valor y los estilos de las celdas
workSheet ["A1"].Value = "Hello World";
workSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
' Establecer el valor y los estilos de las celdas
workSheet ("A1").Value = "Hello World"
workSheet ("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet ("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
VB   C#

Rangos de clasificación

Usando un IronXL podemos ordenar un rango de Celdas Excel usando 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();

// Así es como obtenemos el rango de la hoja de cálculo de Excel
Range range = workSheet ["A2:A8"];

// Ordenar el rango en la hoja
range.SortAscending();
workBook.Save();
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("test.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Así es como obtenemos el rango de la hoja de cálculo de Excel
Private range As Range = workSheet ("A2:A8")

' Ordenar el rango en la hoja
range.SortAscending()
workBook.Save()
VB   C#

Edición de fórmulas

Editar una fórmula de Excel es tan fácil como asignar un valor con un signo igual = al principio. La fórmula se calculará en directo.

:path=/static-assets/excel/content-code-examples/get-started/get-started-6.cs
// Establecer una fórmula
workSheet ["A1"].Value = "=SUM(A2:A10)";

// Obtener el valor calculado
decimal sum = workSheet ["A1"].DecimalValue;
' Establecer una fórmula
workSheet ("A1").Value = "=SUM(A2:A10)"

' Obtener el valor calculado
Dim sum As Decimal = workSheet ("A1").DecimalValue
VB   C#

¿Por qué elegir IronXL?

IronXL ofrece una API sencilla para que los desarrolladores lean y escriban documentos Excel para .NET.

IronXL no requiere la instalación de Microsoft Excel en su servidor o Excel Interop para acceder a los documentos de Excel. Esto hace que trabajar con archivos Excel en .NET, sea una tarea muy rápida y sencilla.

Avanzar

Para sacar el máximo partido a IronXL, le recomendamos que lea la documentación de la n Referencia API .NET en formato MSDN.