Saltar al pie de página
USANDO IRONXL

Biblioteca de Excel .NET (Tutorial para desarrolladores)

IronXL te permite crear, leer y exportar archivos de Excel en C#/.NET con solo unas pocas líneas de código, sin necesidad de instalar Microsoft Office, lo que lo hace perfecto para startups dinámicas que necesitan capacidades de integración rápida con Excel.

¿Qué hace que la biblioteca IronXL sea la mejor para el desarrollo en .NET?

En este artículo, exploraremos IronXL, una biblioteca IronXL que simplifica el trabajo con documentos de Microsoft Excel mediante programación en .NET. Crearemos un entorno de hoja de cálculo de Excel para leer hojas de cálculo de Excel, escribir tablas de Excel y exportar archivos de hoja de cálculo a CSV.

¿Por qué elegir IronXL en lugar de Microsoft.Office.Interop?

Los documentos creados en Microsoft Excel se pueden leer y convertir a archivos CSV utilizando la biblioteca C# IronXL .NET para Excel. IronXL es una biblioteca de software .NET independiente que no requiere la instalación de Microsoft Office, Microsoft.Office.Interop.Excel ni Excel Interop. Puede leer varios formatos de hojas de cálculo y no es solo una biblioteca estática.

La sencilla API de C# de IronXL facilita la lectura de varias hojas de cálculo, la modificación y la generación de hojas de cálculo de Excel en un entorno .NET. Es totalmente compatible con Xamarin, Linux, macOS, Azure, aplicaciones .NET Core y .NET Framework.

Para los fundadores de startups que necesitan una implementación rápida, IronXL elimina la dependencia de las instalaciones de Microsoft Office en los servidores de desarrollo y producción, lo que reduce significativamente la complejidad de la infraestructura y los costes de licencia. La compatibilidad multiplataforma de la biblioteca garantiza que tus capacidades de procesamiento de Excel funcionen a la perfección, tanto si las implementas en contenedores Linux, Azure Functions o servidores Windows tradicionales.

¿Qué plataformas y formatos admite IronXL?

La amplia compatibilidad con formatos te permite convertir sin esfuerzo entre diferentes tipos de archivos de hoja de cálculo, tanto si importas datos de Excel desde archivos subidos por los clientes como si los exportas a diferentes formatos para diversas partes interesadas.

¿Cómo configuro un proyecto .NET para utilizar IronXL?

Las siguientes secciones le muestran lo sencillo que es crear y leer archivos de Excel con la biblioteca IronXL.

¿Cuáles son los pasos para crear un nuevo proyecto de consola?

Paso 1: Inicie un nuevo proyecto para crear archivos de Excel.

Después de iniciar Visual Studio, seleccione 'Nuevo Proyecto' en el menú 'Archivo'.

En el cuadro de diálogo resultante, seleccione las plantillas de Proyecto .NET 'Aplicación de Consola', luego haga clic en 'Siguiente'.

Cuadro de diálogo Nuevo Proyecto

Una vez que haya introducido la ubicación del nuevo proyecto en el campo Ubicación, puede introducir el nombre de proyecto que desee. Haga clic en el botón Siguiente para continuar.

Pantalla de configuración de un nuevo proyecto en Visual Studio que muestra la selección de la plantilla Configuración del Proyecto

¿Qué versión de .NET Framework debo elegir?

Seleccione un .NET Framework utilizando la opción desplegable Framework. Aquí, estamos usando .NET 6.0, la versión con soporte a largo plazo. Luego presione Crear.

Ventana de configuración de un proyecto de Visual Studio que muestra los ajustes de la aplicación de consola con el .NET Framework 6.0 LTS seleccionado y las opciones de plataforma para C#, Linux, macOS, Windows y la biblioteca Console for Excel Selección de Marco de Trabajo

En entornos de startups, elegir .NET 6.0 LTS garantiza estabilidad y soporte a largo plazo, lo que reduce la necesidad de actualizaciones del marco de trabajo durante fases críticas de crecimiento. Esta versión también ofrece excelentes mejoras de rendimiento y es totalmente compatible con implementaciones de Docker y Azure Functions.

¿Cómo instalo IronXL a través del gestor de paquetes NuGet?

Obtenga la biblioteca IronXL, que se requiere para la siguiente solución. Para hacer esto, ingrese el siguiente comando en la consola del Administrador de paquetes NuGet:

Install-Package IronXL.Excel

Consola del Administrador de paquetes de Visual Studio mostrando el comando Instalación de IronXL

Otra opción es usar el Administrador de Paquetes NuGet para buscar el paquete "IronXL". Luego, seleccione el paquete deseado para descargar de la lista de todos los paquetes NuGet relacionados con IronXL.

Ventana del Administrador de paquetes NuGet que muestra el paquete IronXL.Excel con la versión 2023.4.13 listo para su instalación, con 386 000 descargas y el botón Instalar resaltado para facilitar la integración de la biblioteca IronXL Administrador de Paquetes NuGet

El proceso de instalación es sencillo y se puede completar en menos de un minuto. Para los equipos que utilizan pipelines de CI/CD, IronXL se puede integrar fácilmente en compilaciones automatizadas. Consulte la página de licencias para conocer las opciones de precios adaptadas a las startups y cómo aplicar las claves de licencia en su proceso de implementación.

¿Cómo puedo crear archivos Excel utilizando IronXL en C#?

¡Con IronXL, puedes crear nuevos archivos de Excel con solo unas pocas líneas de código! IronXL puede crear archivos tanto en formato XLS (formato antiguo de Excel) como en XLSX (formato actual), tal y como se muestra en los ejemplos de código a continuación.

¿Cuál es el código mínimo para generar un nuevo libro de Excel?

using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
$vbLabelText   $csharpLabel

El código anterior muestra cómo utilizar el paquete IronXL para crear un nuevo libro y una nueva hoja de cálculo de Excel. El método WorkBook.Create() crea un nuevo libro y, a continuación, la función CreateWorkSheet("Sheet1") crea una pestaña de hoja de cálculo con el nombre especificado. Los cambios se guardan en una ubicación especificada utilizando el método SaveAs.

Para escenarios más complejos, puede añadir varias hojas de cálculo, aplicar formato a las celdas, establecer formatos de datos de celda e incluso crear gráficos de Excel mediante programación:

// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
$vbLabelText   $csharpLabel

Interfaz de Microsoft Excel que muestra un libro de trabajo creado mediante programación con la palabra Salida de Excel

¿Dónde puedo encontrar más ejemplos de cómo crear archivos de Excel?

Para obtener más información sobre cómo crear archivos de Excel, consulta este tutorial para crear uno en .NET. También puede explorar cómo trabajar con Excel en C# sin Interop y crear gráficos de Excel mediante programación.

¿Cómo puedo leer datos de Excel y exportarlos a diferentes formatos?

La exportación de datos a formatos XLSX o XLS solo requiere unas pocas líneas de código. A continuación se muestra el código fuente que se puede utilizar para exportar datos de un archivo de Excel a un formato tabular sencillo:

¿Qué código necesito para cargar y modificar archivos Excel existentes?

using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
$vbLabelText   $csharpLabel

¿Cómo accedo a las hojas de cálculo por nombre o índice?

En el ejemplo anterior, se carga un archivo Excel existente utilizando el método LoadExcel, que toma el nombre y la ruta del archivo como argumento. A continuación, el archivo se importa al objeto WorkBook. Las hojas de cálculo se cargan utilizando la función GetWorkSheet especificando el nombre de la hoja. El valor de una celda se puede leer especificando su dirección. El código también muestra cómo modificar el valor de una hoja de cálculo y guardar el libro en diferentes formatos de archivo utilizando el método SaveAs.

IronXL ofrece formas flexibles de seleccionar rangos, leer archivos CSV y trabajar con diversas estructuras de datos. A continuación se muestra un ejemplo ampliado que ilustra diferentes formas de acceder y manipular datos de Excel:

// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
$vbLabelText   $csharpLabel

Ventana de consola que muestra el resultado satisfactorio Salida de Consola

¿Qué opciones de exportación hay disponibles para los archivos de Excel?

También se puede hacer referencia a una hoja de cálculo por su nombre o por su valor de índice para exportar datos de una hoja de cálculo de Excel a un archivo independiente. IronXL admite la exportación a múltiples formatos, incluidos CSV, JSON, XML y HTML. También puede exportar a DataSet y DataTable para una integración perfecta con su canal de procesamiento de datos .NET.

Para los equipos de startups que necesitan integrarse con diversos sistemas, las capacidades de exportación de IronXL permiten un intercambio rápido de datos. Puede cargar Excel desde bases de datos SQL, actualizar registros de la base de datos desde Excel o trabajar con datos de Excel a través de DataTable para la creación rápida de prototipos y el desarrollo de MVP.

¿Cuáles son los próximos pasos con IronXL?

Desde la creación de nuevos archivos hasta la realización de cálculos precisos, IronXL te ofrece todo lo que necesitas para tus proyectos de Excel. Hoy hemos visto cómo IronXL puede crear, leer y exportar archivos de Excel, y hemos comprobado que con solo unas pocas líneas de código se puede tener un control total sobre estos procesos.

¿Qué funciones avanzadas ofrece IronXL?

Para cada tarea programable relacionada con documentos de Microsoft Excel, IronXL ofrece una solución integral. Puede realizar cálculos con fórmulas, ordenar cadenas o números, cortar y añadir datos, buscar y reemplazar, fusionar y desfusionar celdas, visualizar datos y guardar archivos. También puede establecer los tipos de datos de las celdas y validar los datos de la hoja de cálculo. La capacidad de leer y escribir archivos CSV permite interactuar con datos de Excel.

Otras características avanzadas incluyen:

¿Cuál es el modelo de precios para equipos de startups?

IronXL cuesta $799 en el momento del lanzamiento, pero los clientes pueden optar por pagar una cuota de suscripción anual para obtener mejoras y asistencia técnica. IronXL aplica una tarifa de seguridad adicional que permite la redistribución sin restricciones. Visite esta página de licencias para obtener más información sobre los precios.

Para las startups, IronXL ofrece licencias para desarrolladores que permiten evaluar la biblioteca IronXL sin restricciones. El modelo de licencia es transparente, sin cuotas ocultas, y puedes empezar con una sola licencia de desarrollador y ampliarla a medida que tu equipo crezca. Consulte las guías de resolución de problemas para aplicar licencias en diferentes escenarios de implementación.

Tanto si estás creando una aplicación Blazor, implementando en AWS Lambda, trabajando con .NET MAUI o creando aplicaciones web ASP.NET, IronXL ofrece la flexibilidad y el rendimiento necesarios para implementar tus funciones de Excel rápidamente sin la sobrecarga que suponen las dependencias de Microsoft Office.

Preguntas Frecuentes

¿Cómo puedo crear y leer archivos de Excel en .NET sin Interop?

Usando IronXL, puede crear y leer fácilmente archivos de Excel en .NET sin depender de Microsoft Office Interop. Puede usar el método WorkBook.Create() para crear nuevos archivos de Excel y LoadExcel para leer los existentes.

¿Cuáles son los beneficios de usar una biblioteca de Excel for .NET independiente?

Una biblioteca de Excel for .NET independiente como IronXL ofrece la ventaja de no requerir instalaciones de Microsoft Office o Interop. Permite la lectura, escritura y exportación fluida de archivos de Excel en diferentes plataformas como Windows, macOS y Linux.

¿Cómo puedo convertir archivos de Excel a formato CSV programáticamente?

IronXL proporciona funcionalidad para convertir archivos de Excel a formato CSV sin esfuerzo. Use el método SaveAs para exportar su libro de Excel a un formato de archivo CSV.

¿Qué plataformas son compatibles con IronXL para trabajar con archivos de Excel?

IronXL es compatible con múltiples plataformas, incluidas Xamarin, Linux, macOS, Azure, .NET Core y .NET Framework, ofreciendo flexibilidad para desarrolladores que trabajan en diferentes entornos.

¿Qué tipos de datos pueden manejarse dentro de las columnas de Excel usando IronXL?

IronXL admite una amplia gama de tipos de datos, incluidos texto, enteros, fechas, monedas, fórmulas y porcentajes para las columnas de Excel, permitiendo un manejo versátil de datos dentro de las hojas de cálculo.

¿Cómo realizo cálculos en hojas de cálculo de Excel usando una biblioteca for .NET?

Con IronXL, puede realizar cálculos en hojas de cálculo de Excel utilizando fórmulas programáticamente. Esto le permite automatizar cálculos complejos y tareas de procesamiento de datos dentro de sus archivos de Excel.

¿Es posible trabajar con múltiples hojas de trabajo en un archivo de Excel usando una biblioteca for .NET?

Sí, IronXL le permite trabajar con múltiples hojas de trabajo dentro de un archivo de Excel. Puede acceder fácilmente, modificar y exportar datos a través de diferentes hojas de trabajo utilizando su API.

¿Cómo puedo configurar IronXL en un proyecto de .NET Core?

Para configurar IronXL en un proyecto de .NET Core, puede instalarlo a través del Administrador de Paquetes NuGet. Use el comando Install-Package IronXL.Excel en la Consola del Administrador de Paquetes, o agréguelo a través del Administrador de Paquetes NuGet en Visual Studio.

¿Qué opciones de licencia y precios están disponibles para IronXL?

IronXL ofrece varias opciones de licencia que incluyen una tarifa de membresía de un año para mejoras y soporte. Pueden incurrir en costos adicionales por características de seguridad y derechos de redistribución sin restricciones.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame