USO DE IRONXL

Biblioteca Excel C# sin Office (Tutorial para principiantes)

Actualizado enero 14, a. m.
Compartir:

Introducción a IronXL

IronXL La biblioteca es una alternativa a la Interoperabilidad con Excel en C#, que ofrece un enfoque más ágil y eficaz del manejo de archivos Excel.

Se trata de una útil API de Excel para desarrolladores que gestionan datos de Microsoft Excel en aplicaciones .NET, funcionando independientemente de Microsoft Office. Ofrece una forma sencilla de gestionar archivos de Excel en varios formatos como XLSX, XLS y CSV.

¿Por qué elegir IronXL?

La ausencia de requisitos para la instalación de MS Office en el servidor hace de IronXL una solución óptima en diversos entornos de servidor.

Esto lo convierte en la solución ideal para entornos de servidor en los que no es posible instalar Microsoft Office debido a limitaciones de licencias o de rendimiento del servidor.

Características principales de IronXL

Las principales características de IronXL son las siguientes:

  • Lectura y Escritura de Archivos Excel: IronXL puede crear y manipular archivos de Excel. Admite los formatos de archivo XLS clásico y XLSX moderno, lo que garantiza la compatibilidad con distintas versiones de Excel.
  • Exportación de datos: IronXL puede exportar datos desde y hacia archivos Excel a otros formatos de forma eficaz, como archivos XML, CSV y otros formatos.
  • Compatibilidad con .NET Core y Framework: IronXL funciona a la perfección tanto con .NET Core como con .NET Framework, lo que lo convierte en una opción versátil para diversos entornos de desarrollo.
  • Facilidad de uso: Con IronXL, los desarrolladores pueden realizar operaciones complejas de Excel con un mínimo de líneas de código, mejorando la productividad y la eficiencia.

Instalación y configuración

Para empezar a utilizar IronXL, es necesario instalar el paquete NuGet. He aquí cómo puedes hacerlo:

A través del Gestor de Paquetes NuGet: Busca IronXL en el gestor de paquetes NuGet e instálalo.

Biblioteca Excel C# sin Office (Tutorial para principiantes): Figura 1

Utilizando la Consola del Administrador de Paquetes: Ejecute el comando Install-Package IronXL.Excel en la consola del administrador de paquetes en Visual Studio.

Trabajar con IronXL

IronXL ofrece a los desarrolladores de C# la posibilidad de interactuar con archivos Excel de forma eficaz. Esta sección profundizará en las diversas operaciones que puede realizar con IronXL, proporcionando una guía detallada y ejemplos de código.

Creación de un nuevo archivo Excel

La creación de un nuevo archivo Excel es una tarea habitual en la manipulación de datos y la elaboración de informes. Con IronXL, puede crear archivos Excel sin esfuerzo con unas pocas líneas de código, añadir hojas de cálculo y rellenarlas con datos.

El siguiente código muestra cómo podemos crear un archivo Excel utilizando IronXL:

// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");
// Populate the Worksheet with data
worksheet ["A1"].Value = "Month";
worksheet ["B1"].Value = "Sales";
worksheet ["A2"].Value = "January";
worksheet ["B2"].Value = 5000;
worksheet ["A3"].Value = "February";
worksheet ["B3"].Value = 6000;
// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");
// Populate the Worksheet with data
worksheet ["A1"].Value = "Month";
worksheet ["B1"].Value = "Sales";
worksheet ["A2"].Value = "January";
worksheet ["B2"].Value = 5000;
worksheet ["A3"].Value = "February";
worksheet ["B3"].Value = 6000;
// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
' Initialize a new Workbook
Dim workbook As New WorkBook()
' Add a new Worksheet named "Sales Data"
Dim worksheet = workbook.CreateWorkSheet("Sales Data")
' Populate the Worksheet with data
worksheet ("A1").Value = "Month"
worksheet ("B1").Value = "Sales"
worksheet ("A2").Value = "January"
worksheet ("B2").Value = 5000
worksheet ("A3").Value = "February"
worksheet ("B3").Value = 6000
' Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx")
VB   C#

Este es el código de salida:

Biblioteca Excel C# sin Office (Tutorial para principiantes): Figura 2

Este código crea un libro de trabajo, añade una hoja de cálculo y lo rellena con datos de ventas antes de guardarlo como un archivo Excel.

IronXL es compatible con la notación estándar de Excel, lo que permite a los desarrolladores hacer referencia a celdas como 'A1' para leer y manipular datos.

Lectura de archivos Excel

Leer y extraer información de archivos Excel es crucial para las aplicaciones de tratamiento de datos. IronXL le permite abrir archivos de Excel existentes y leer su contenido sin interoperabilidad con Excel.

He aquí un ejemplo de código:

// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");
// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");
// Read values from specific cells
string quarter = worksheet ["A2"].StringValue;
double revenue = worksheet ["B2"].DoubleValue;
double expenses = worksheet ["C2"].DoubleValue;
// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");
// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");
// Read values from specific cells
string quarter = worksheet ["A2"].StringValue;
double revenue = worksheet ["B2"].DoubleValue;
double expenses = worksheet ["C2"].DoubleValue;
// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
' Load an existing Excel file
Dim workbook = WorkBook.Load("FinancialData.xlsx")
' Access a specific worksheet by name
Dim worksheet = workbook.GetWorkSheet("Quarterly Report")
' Read values from specific cells
Dim quarter As String = worksheet ("A2").StringValue
Dim revenue As Double = worksheet ("B2").DoubleValue
Dim expenses As Double = worksheet ("C2").DoubleValue
' You can also iterate over rows and columns if needed
For Each row In worksheet.Rows
	For Each cell In row
		Console.WriteLine(cell.Value)
	Next cell
Next row
VB   C#

Este código muestra cómo cargar un archivo Excel, acceder a una hoja de cálculo específica y leer valores de las celdas, incluyendo la iteración sobre filas y columnas.

Escritura de datos en archivos Excel

La modificación de archivos Excel es una necesidad frecuente. IronXL le permite escribir y actualizar datos en archivos Excel con facilidad.

El siguiente ejemplo ilustra la adición y actualización de datos en un archivo Excel:

// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Adding new data to cells
worksheet ["A4"].Value = "John Doe";
worksheet ["B4"].Value = "Sales";
worksheet ["C4"].Value = 45000;
// Updating existing data
worksheet ["C2"].Value = 50000; // Update salary of an existing employee
// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Adding new data to cells
worksheet ["A4"].Value = "John Doe";
worksheet ["B4"].Value = "Sales";
worksheet ["C4"].Value = 45000;
// Updating existing data
worksheet ["C2"].Value = 50000; // Update salary of an existing employee
// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
' Load an existing Excel file
Dim workbook = WorkBook.Load("EmployeeData.xlsx")
Dim worksheet = workbook.DefaultWorkSheet
' Adding new data to cells
worksheet ("A4").Value = "John Doe"
worksheet ("B4").Value = "Sales"
worksheet ("C4").Value = 45000
' Updating existing data
worksheet ("C2").Value = 50000 ' Update salary of an existing employee
' Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx")
VB   C#

En este ejemplo, se añaden nuevos datos a un archivo de Excel y se actualizan los datos existentes, mostrando la flexibilidad de IronXL en la manipulación de datos.

Este es el archivo de salida:

Biblioteca Excel C# sin Office (Tutorial para principiantes): Figura 3

Exportación de datos Excel

La exportación de datos de archivos Excel a otros formatos suele ser necesaria para el análisis de datos y la elaboración de informes. IronXL simplifica este proceso.

A continuación se explica cómo exportar datos de un archivo Excel a un formato CSV:

// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");
// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");
// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");
// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");
// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
' Load the Excel file
Dim workbook = WorkBook.Load("ProjectData.xlsx")
' Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv")
' You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json")
VB   C#

Este fragmento de código demuestra la conversión de archivos Excel a formatos CSV y JSON, destacando la versatilidad de IronXL en el manejo de diferentes formatos de archivo.

Funciones avanzadas de IronXL

IronXL no se limita a las operaciones básicas de Excel; viene repleto de funciones avanzadas que satisfacen necesidades complejas de manipulación y formateo de datos. Exploremos algunas de estas capacidades con más detalle.

Trabajar con tablas de datos

La conversión entre hojas de Excel y tablas de datos .NET es una característica que mejora la flexibilidad del manejo de datos en IronXL. Esta funcionalidad es especialmente útil en situaciones que implican operaciones de datos en masa o cuando se interactúa con bases de datos.

// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
' Load an existing Excel file
Dim workbook = WorkBook.Load("EmployeeRecords.xlsx")
Dim worksheet = workbook.DefaultWorkSheet
' Convert the Worksheet to a DataTable
Dim dataTable As DataTable = worksheet.ToDataTable(True)
VB   C#

Optimización del rendimiento de archivos Excel de gran tamaño

El manejo eficaz de archivos Excel de gran tamaño es una característica clave de IronXL, por lo que resulta adecuado para aplicaciones empresariales que manejan grandes cantidades de datos.

IronXL está diseñado para minimizar el uso de memoria y optimizar el rendimiento cuando se trabaja con archivos Excel de gran tamaño.

Lo consigue mediante algoritmos eficaces de tratamiento de datos y permitiendo la lectura selectiva de hojas de cálculo y celdas, lo que reduce la carga de los recursos del sistema.

Manejo de formatos de archivos Excel

IronXL admite varios formatos de archivo de Excel, lo que garantiza la compatibilidad con distintas versiones de Excel y otros programas de hojas de cálculo.

// Creating a workbook
var workbook = new WorkBook();
// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls");  // XLS format
workbook.SaveAsCsv("ExcelDocument.csv");  // CSV format
// Creating a workbook
var workbook = new WorkBook();
// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls");  // XLS format
workbook.SaveAsCsv("ExcelDocument.csv");  // CSV format
' Creating a workbook
Dim workbook As New WorkBook()
' You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx") ' XLSX format
workbook.SaveAs("ExcelDocument.xls") ' XLS format
workbook.SaveAsCsv("ExcelDocument.csv") ' CSV format
VB   C#

Este ejemplo muestra cómo IronXL puede crear y guardar documentos en formatos XLSX, XLS y CSV, proporcionando flexibilidad en la forma de almacenar y compartir los datos.

Conclusión

Biblioteca Excel C# sin Office (Tutorial para principiantes): Figura 4

IronXL es una potente librería C# para trabajar con archivos Excel sin necesidad de Microsoft Office. Su capacidad para leer, escribir y exportar archivos de Excel, combinada con su facilidad de uso y su compatibilidad con .NET Core y .NET Framework, la convierten en una excelente opción para los desarrolladores que trabajan con datos de Excel en sus aplicaciones.

Tanto si está creando nuevos documentos Excel, procesando archivos existentes o exportando datos a distintos formatos, IronXL le ofrece una solución sólida y eficaz.

Para obtener documentación más detallada, ejemplos de código y asistencia, visite el sitio web oficial de IronXL o consulte su repositorio de GitHub. Con IronXL, la gestión de archivos Excel en C# se convierte en un proceso ágil y sin complicaciones.

IronXL ofrece un prueba gratuita para que los usuarios exploren sus funciones y capacidades antes de realizar una compra. Este periodo de prueba permite a los desarrolladores probar la biblioteca en sus entornos, asegurándose de que satisface sus necesidades específicas de manipulación de archivos Excel en aplicaciones .NET.

Después del juicio, licencias para IronXL comienzan en $599, proporcionando acceso completo a todas sus características y funcionalidades avanzadas.

< ANTERIOR
Automatización de Excel en C# (Tutorial para desarrolladores)
SIGUIENTE >
Cómo convertir Excel a Datatable en C# sin oledb

¿Listo para empezar? Versión: 2024.8 acaba de salir

Descarga gratuita de NuGet Descargas totales: 949,440 Ver licencias >