Saltar al pie de página
USANDO IRONXL

Cómo crear un nuevo libro de trabajo de Excel en C#

Microsoft Excel es una de las herramientas más universales para la manipulación y análisis de datos en diversas industrias. En muchos proyectos de software, a menudo hay un requisito de interactuar programáticamente con archivos de Excel. Esto podría involucrar tareas como la generación de informes, la gestión de importaciones o exportaciones de datos, o la automatización de procesos específicos.

En el ecosistema del lenguaje de programación C#, IronXL se destaca como una biblioteca robusta para la manipulación de archivos de Excel. Ya seas un desarrollador trabajando en una aplicación web, software de escritorio, o cualquier otro proyecto en C#, IronXL proporciona una interfaz fácil de usar para trabajar con archivos de Excel de manera fluida.

Cómo crear un nuevo libro de Excel en C

En este tutorial, aprenderemos el proceso de crear un nuevo libro usando IronXL en C#. Pasaremos por los pasos necesarios, desde configurar tu entorno de desarrollo hasta escribir el código que genera un nuevo libro de Excel.

Al final de este tutorial, tendrás una comprensión sólida de cómo aprovechar IronXL para crear libros de Excel programáticamente, permitiéndote integrar funcionalidad de Excel en tus aplicaciones en C# con facilidad. ¡Comencemos!

¿Qué es IronXL?

IronXL es una biblioteca de C# versátil que te permite trabajar con documentos de Excel sin la necesidad de Microsoft Office Excel Interop o cualquier aplicación de Excel. Te permite fácilmente leer, crear y modificar libros, formatear celdas, agregar fórmulas y trabajar con formatos de archivos Excel tanto modernos como antiguos.

Puedes validar datos, insertar imágenes, aplicar formato condicional, y crear gráficos sin necesitar Microsoft Office. Los desarrolladores pueden crear soluciones de Excel para tareas como informes financieros, tableros de datos y gestión de inventarios con facilidad usando IronXL.

Comencemos a crear un archivo de Excel en C#.

Paso 1: Crear un nuevo proyecto de C

Abra Visual Studio y cree un nuevo proyecto de Aplicación de Consola en C#. Nómbralo según tu preferencia. También puedes crear otros tipos de proyectos como ASP.NET MVC, Blazor, MAUI, formularios WEB, formularios Windows, API WEB, etc. Este código funcionará con todos los tipos de proyectos. Estoy creando una aplicación de consola para simplicidad y para hacerlo relevante para todos los tipos de proyectos.

Paso 2: Instalar el paquete NuGet de IronXL

Para instalar el paquete IronXL en tu proyecto C#, puedes usar cualquiera de las siguientes maneras:

  1. Para instalar IronXL, haz clic derecho en tu proyecto en el Explorador de Soluciones, elige "Administrar paquetes NuGet", busca IronXL y luego procede con la instalación.

Cómo crear un nuevo libro de Excel en C#: Figura 1 - Instalar IronXL usando el Administrador de Paquetes NuGet para Solución buscando IronXL en la barra de búsqueda del Administrador de Paquetes NuGet, luego selecciona el proyecto y haz clic en el botón Instalar.

  1. Alternativamente, puedes instalar IronXL a través de la consola del administrador de paquetes usando el siguiente comando:
Install-Package IronXL.Excel

Este comando descargará, instalará y agregará una referencia de ensamblaje a nuestro proyecto. Espera a que el paquete sea descargado e instalado. Una vez completada la instalación, puedes comenzar a usar IronXL en tu proyecto para trabajar con archivos de Excel programáticamente.

Cómo crear un nuevo libro de Excel en C#: Figura 2 - Instalar IronXL usando el comando de la consola del Administrador de Paquetes: Install-Package IronXL.Excel

Paso 3: Importar el espacio de nombres necesario

En la parte superior de tu archivo C#, agrega el siguiente espacio de nombres:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Paso 4: Crear un nuevo archivo de Excel

Ahora, escribamos el código para crear un archivo de Excel:

internal class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook in the XLSX format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        workBook.Metadata.Author = "Mr. Author"; // Set the author (optional)

        // Add a blank worksheet named "Sheet1"
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Add data to the new worksheet
        workSheet["A1"].Value = "Developer Name";
        workSheet["A2"].Value = "John Grahm";
        workSheet["A3"].Value = "David Smith";
        workSheet["A4"].Value = "Rishi Kelkar";

        // Save the Excel file as "Developers.xlsx"
        workBook.SaveAs("Developers.xlsx");
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook in the XLSX format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        workBook.Metadata.Author = "Mr. Author"; // Set the author (optional)

        // Add a blank worksheet named "Sheet1"
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Add data to the new worksheet
        workSheet["A1"].Value = "Developer Name";
        workSheet["A2"].Value = "John Grahm";
        workSheet["A3"].Value = "David Smith";
        workSheet["A4"].Value = "Rishi Kelkar";

        // Save the Excel file as "Developers.xlsx"
        workBook.SaveAs("Developers.xlsx");
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new workbook in the XLSX format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		workBook.Metadata.Author = "Mr. Author" ' Set the author (optional)

		' Add a blank worksheet named "Sheet1"
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Add data to the new worksheet
		workSheet("A1").Value = "Developer Name"
		workSheet("A2").Value = "John Grahm"
		workSheet("A3").Value = "David Smith"
		workSheet("A4").Value = "Rishi Kelkar"

		' Save the Excel file as "Developers.xlsx"
		workBook.SaveAs("Developers.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

El código anterior demuestra cómo crear un archivo de Excel programáticamente usando IronXL en C#. Comienza creando un nuevo libro de Excel (una nueva instancia de un archivo de Excel) en el formato XLSX, establece metadatos del autor, agrega una hoja de cálculo de Excel en blanco con el nombre "Sheet1" utilizando el método CreateWorkSheet(), llena datos en las celdas A1 a A4, y finalmente guarda el libro como "Developers.xlsx".

IronXL ofrece una gama de funcionalidades para trabajar con archivos de Excel, incluyendo creación, manipulación y guardado en varios formatos como XLSX, CSV, TSV, JSON, XML y HTML.

La salida es como:

Cómo crear un nuevo libro de Excel en C#: Figura 3 - Salida: Developers.xlsx

Paso 5: Dar formato y estilo al archivo de Excel

IronXL te permite formatear celdas, aplicar estilos de fuente, establecer colores de fondo y ajustar alineación. Puedes crear hojas de cálculo de apariencia profesional personalizando la apariencia de las celdas.

// Set style of heading for cell A1
workSheet["A1"].Style.BackgroundColor = "#FFFF66"; // Light yellow background
workSheet["A1"].Style.Font.Bold = true; // Bold font

// Set border style for a specific range (A1:A4)
var range = workSheet["A1:A4"];
range.Style.BottomBorder.Type = BorderType.Medium; // Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium; // Medium left border
range.Style.RightBorder.Type = BorderType.Medium; // Medium right border
range.Style.TopBorder.Type = BorderType.Medium; // Medium top border
// Set style of heading for cell A1
workSheet["A1"].Style.BackgroundColor = "#FFFF66"; // Light yellow background
workSheet["A1"].Style.Font.Bold = true; // Bold font

// Set border style for a specific range (A1:A4)
var range = workSheet["A1:A4"];
range.Style.BottomBorder.Type = BorderType.Medium; // Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium; // Medium left border
range.Style.RightBorder.Type = BorderType.Medium; // Medium right border
range.Style.TopBorder.Type = BorderType.Medium; // Medium top border
' Set style of heading for cell A1
workSheet("A1").Style.BackgroundColor = "#FFFF66" ' Light yellow background
workSheet("A1").Style.Font.Bold = True ' Bold font

' Set border style for a specific range (A1:A4)
Dim range = workSheet("A1:A4")
range.Style.BottomBorder.Type = BorderType.Medium ' Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium ' Medium left border
range.Style.RightBorder.Type = BorderType.Medium ' Medium right border
range.Style.TopBorder.Type = BorderType.Medium ' Medium top border
$vbLabelText   $csharpLabel

El código anterior demuestra cómo personalizar la apariencia de celdas específicas en una hoja de cálculo de Excel usando IronXL en C#. Primero se establece el color de fondo de la celda A1 en un tono amarillo claro y se hace la fuente en negrita, estilándolo efectivamente como un encabezado.

A continuación, define un rango que abarca las celdas A1 a A4 y establece bordes de peso medio a lo largo de los bordes inferior, izquierdo, derecho y superior de este rango, mejorando su distinción visual dentro de la hoja de cálculo. Estas opciones de estilo permiten a los desarrolladores crear documentos de Excel visualmente atractivos y organizados según sus necesidades específicas.

La salida es como:

Cómo crear un nuevo libro de Excel en C#: Figura 4 - Generar Excel con formato y estilo usando IronXL.

Paso 6: Fórmula y cálculo

Puedes agregar fórmulas a las celdas programáticamente. IronXL admite una amplia gama de funciones de Excel.

// Add a new column to display the length of developer names
workSheet["B1"].Value = "Name Length";
workSheet["B1"].Style.BackgroundColor = "#FFFF66"; // Styled as heading
workSheet["B1"].Style.Font.Bold = true; // Bold font

// Formula to calculate the length of names in column B
workSheet["B2"].Value = "=LEN(A2)";
workSheet["B3"].Value = "=LEN(A3)";
workSheet["B4"].Value = "=LEN(A4)";

// Add a total count of the length of names in cell A5
workSheet["A5"].Value = "Sum of Length";
workSheet["B5"].Formula = "=SUM(B2:B4)";
// Add a new column to display the length of developer names
workSheet["B1"].Value = "Name Length";
workSheet["B1"].Style.BackgroundColor = "#FFFF66"; // Styled as heading
workSheet["B1"].Style.Font.Bold = true; // Bold font

// Formula to calculate the length of names in column B
workSheet["B2"].Value = "=LEN(A2)";
workSheet["B3"].Value = "=LEN(A3)";
workSheet["B4"].Value = "=LEN(A4)";

// Add a total count of the length of names in cell A5
workSheet["A5"].Value = "Sum of Length";
workSheet["B5"].Formula = "=SUM(B2:B4)";
' Add a new column to display the length of developer names
workSheet("B1").Value = "Name Length"
workSheet("B1").Style.BackgroundColor = "#FFFF66" ' Styled as heading
workSheet("B1").Style.Font.Bold = True ' Bold font

' Formula to calculate the length of names in column B
workSheet("B2").Value = "=LEN(A2)"
workSheet("B3").Value = "=LEN(A3)"
workSheet("B4").Value = "=LEN(A4)"

' Add a total count of the length of names in cell A5
workSheet("A5").Value = "Sum of Length"
workSheet("B5").Formula = "=SUM(B2:B4)"
$vbLabelText   $csharpLabel

El código anterior ilustra la utilización de fórmulas y funciones en IronXL para calcular la longitud de los nombres de los desarrolladores y calcular la suma de estas longitudes dentro de una hoja de cálculo de Excel. A través de esta demostración, los desarrolladores pueden entender cómo integrar fórmulas y funciones en IronXL para realizar cálculos dinámicos y manipulaciones dentro de las hojas de cálculo de Excel programáticamente, ofreciendo flexibilidad y automatización en tareas de procesamiento de datos.

Primero, se agrega un encabezado titulado "Longitud del Nombre" a la celda B1, con estilos para resaltar su importancia. Posteriormente, se aplican fórmulas a las celdas B2, B3 y B4 para calcular la longitud del nombre de cada desarrollador usando la función LEN, haciendo referencia a la celda correspondiente en la columna A. Esto permite calcular automáticamente las longitudes de los nombres a medida que cambian.

Además, se calcula un recuento total de las longitudes de los nombres de los desarrolladores en la celda B5 usando la función SUMA, que suma los valores desde las celdas B2 a B4.

Al incorporar estas fórmulas, la hoja de cálculo se actualiza dinámicamente. Este caso de uso puede no ser práctico, pero esto es solo un ejemplo de usar una fórmula de Excel en el código.

Cómo crear un nuevo libro de Excel en C#: Figura 5 - Salida de Excel con fórmula y cálculo usando IronXL.

Conclusión

En resumen, este tutorial ha demostrado el proceso de crear un nuevo libro de Excel en C# usando IronXL, una robusta biblioteca que facilita la manipulación de archivos de Excel dentro del ecosistema de C#. Con IronXL, los desarrolladores pueden integrar sin problemas la funcionalidad de Excel en sus aplicaciones, desde configurar el entorno de desarrollo hasta generar libros de Excel programáticamente. Junto con su capacidad para realizar tareas como formatear, estilizar y aplicar fórmulas, IronXL ofrece un conjunto de características completas para una gestión y análisis de datos eficientes.

Para referencias sobre cómo usar IronXL, por favor visita la página de documentación. IronXL también ofrece una colección de ejemplos de código que son útiles para comenzar.

Los desarrolladores pueden explorar IronXL a través de su prueba gratuita y compra, asegurando una transición sin problemas de la evaluación a la implementación a gran escala. Para más detalles sobre licencias perpetuas, por favor visita el enlace de la página de licencias.

Preguntas Frecuentes

¿Cómo creo un nuevo libro de trabajo de Excel en C# sin usar Interop?

Puede crear un nuevo libro de trabajo de Excel en C# sin usar Interop utilizando IronXL. Primero, configure su proyecto C# e instale el paquete NuGet de IronXL. Luego, use la API de IronXL para crear un nuevo libro de trabajo, agregar hojas de trabajo y completarlas con datos.

¿Cómo puedo dar formato a las celdas en un libro de trabajo de Excel usando C#?

Con IronXL, puede dar formato a las celdas en un libro de trabajo de Excel usando C#. IronXL le permite aplicar estilos como cambios de fuente, colores de fondo y bordes programáticamente, permitiendo crear hojas de cálculo de aspecto profesional.

¿Puedo usar fórmulas en libros de trabajo de Excel creados con C#?

Sí, puede usar fórmulas en libros de trabajo de Excel creados con C# usando IronXL. IronXL admite una variedad de funciones de Excel, lo que le permite realizar cálculos, como sumar columnas o encontrar el promedio, directamente dentro de sus hojas de trabajo.

¿Cuáles son las ventajas de usar IronXL sobre Microsoft Office Interop?

IronXL proporciona varias ventajas sobre Microsoft Office Interop, incluyendo que no requiere que Excel esté instalado en el servidor, un rendimiento más rápido y una integración más sencilla en aplicaciones C#. También admite una amplia gama de características de Excel sin la sobrecarga de Interop.

¿Cómo instalo IronXL en un proyecto C#?

Para instalar IronXL en un proyecto C#, acceda a la opción 'Administrar paquetes NuGet' en Visual Studio, busque IronXL e instálelo. Alternativamente, use la consola del Administrador de paquetes con el comando Install-Package IronXL.Excel.

¿Es posible usar IronXL en aplicaciones web?

Sí, IronXL se puede usar en aplicaciones web como ASP.NET MVC y Blazor. Su flexibilidad le permite integrar la funcionalidad de Excel en una variedad de tipos de proyectos, incluidas formas web y API.

¿Qué formatos de archivo puede manejar IronXL?

IronXL admite múltiples formatos de archivo, incluidos XLSX, CSV, TSV, JSON, XML y HTML. Esta flexibilidad le permite trabajar sin problemas con diferentes formatos de datos en sus tareas relacionadas con Excel.

¿Cómo ayuda IronXL a automatizar los procesos de Excel?

IronXL ayuda a automatizar los procesos de Excel al permitir a los desarrolladores crear, modificar y gestionar archivos de Excel programáticamente dentro de aplicaciones C#. Esto incluye generar informes, importar/exportar datos y automatizar cálculos.

¿Dónde puedo acceder a la documentación y tutoriales de IronXL?

La documentación y tutoriales de IronXL están disponibles en el sitio web de IronXL. Los recursos ofrecen guías detalladas y ejemplos para ayudarle a usar efectivamente las características de IronXL en sus proyectos.

¿Hay una prueba gratuita para IronXL?

Sí, IronXL ofrece una prueba gratuita para que los desarrolladores exploren sus características. Esta prueba le permite evaluar las capacidades de IronXL para crear y gestionar libros de trabajo de Excel programáticamente.

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