Saltar al pie de página
USANDO IRONXL

Abrir archivo de Excel programáticamente en C# (Tutorial con ejemplo de código)

Todos somos conscientes de que la hoja de cálculo de Excel ha existido durante mucho tiempo. Se usa principalmente para cálculos y gráficos de datos, lo que lo hace perfecto para crear modelos financieros, analizar la rentabilidad de varias campañas publicitarias y muchos otros tipos de análisis.

Aunque debería ser un proceso sencillo, crear un archivo de Excel programáticamente puede ser difícil debido a la cantidad de filas y columnas involucradas. Muchas tareas se realizan rápidamente con Excel, como seleccionar o ordenar datos. Sin embargo, no hay manera fácil de hacerlo cuando necesitas crear una nueva hoja de cálculo desde cero. Crear archivos XLSX programáticamente requiere muchas líneas de código, algo que puede complicarse rápidamente.

Los archivos de Excel son más difíciles de crear programáticamente porque necesitan configurarse con datos y fórmulas antes de que puedan usarse. Los diferentes tipos de datos que almacenas en la hoja de cálculo pueden impactar significativamente en la dificultad de crear un archivo de Excel. Si necesitas crear un archivo de Excel con muchos datos, probablemente lo encontrarás más complicado que si hay menos columnas y filas. En segundo lugar, el formato de tu hoja de cálculo también podría hacer difícil la creación de un archivo de Excel. Por ejemplo, supongamos que deseas que las columnas en tu hoja de cálculo estén alineadas en todo momento. En ese caso, esto hará que generar una nueva hoja de cálculo sea más complicado de lo habitual, porque necesitarás calcular dónde debe estar cada columna, basándote en otras columnas de la hoja, y cuántas filas deberían haber.

Entonces, hemos ideado una solución. Mostraremos lo fácil que es crear y leer archivos de Excel con la biblioteca IronXL en C#.

IronXL: Biblioteca de Excel para C

IronXL es una biblioteca de Excel para C# que te ayuda a crear hojas de cálculo más robustas. Con IronXL, no hay limitaciones en el número de filas y columnas en una hoja de cálculo. Puedes tener tantas filas y columnas como necesites sin agregar fórmulas complejas para calcular anchos de columna.

IronXL hace posible crear libros de trabajo con millones de filas y miles de columnas, lo que no sería posible sin cálculos complejos o usando cualquier otro software de hoja de cálculo. Con IronXL, no hay límite en el número de filas o columnas en tu hoja de cálculo, lo que te permite diseñar modelos de muy alta dimensión en una sola hoja. IronXL es una biblioteca completa que completará todos los procesos de Excel. Sus funciones completamente equipadas crearán y leerán archivos de Excel en C#.

IronXL simplifica el proceso de procesamiento de datos y análisis de datos al proporcionar a sus usuarios funciones poderosas que pueden usar para trabajar en los datos sin demasiado esfuerzo. Tampoco necesitamos instalar Microsoft Office en nuestra máquina.

La siguiente sección describirá cómo se puede usar la biblioteca para leer y escribir archivos de Excel en C#.

Crear un proyecto C# .NET

Crear un nuevo proyecto de consola en C# en Microsoft Visual Studio. Estoy usando la versión 2022 de Visual Studio. Puedes usar cualquier versión, pero se recomienda la última versión. Al crear un proyecto, elige .NET Framework > 3.0 porque está recomendado. Puedes darle cualquier nombre a tu proyecto. También puedes crear un proyecto GUI, según tus necesidades. IronXL soporta todos los formatos de plantilla del .NET Framework. Después de completar el proyecto, el siguiente paso será instalar la biblioteca IronXL.

Instalar la biblioteca IronXL

Ahora es el momento de instalar la biblioteca IronXL. Debes seguir los siguientes pasos para instalarla. Instalaremos la biblioteca usando el Administrador de Paquetes NuGet.

Ve a la opción Herramientas en la barra de menú principal. Desplázate sobre el Gestor de Paquetes NuGet y selecciona la opción Administrar paquetes NuGet para la solución... del menú desplegable.

Abrir archivo de Excel programáticamente en C# (Ejemplo de Tutorial de Código), Figura 1: Navegar al Administrador de Paquetes NuGet en Visual Studio Navegar al Administrador de Paquetes NuGet en Visual Studio

Esto abrirá la pestaña del Administrador de Paquetes NuGet. Ve a la pestaña de exploración y busca IronXL. Selecciona IronXL de los resultados de búsqueda.

Abrir archivo de Excel programáticamente en C# (Ejemplo de Tutorial de Código), Figura 2: Buscar IronXL en el Administrador de Paquetes NuGet Buscar IronXL en el Administrador de Paquetes NuGet

Instala la biblioteca seleccionada. Verás las dependencias de la biblioteca IronXL en el explorador de soluciones.

Abrir archivo de Excel programáticamente en C# (Ejemplo de Tutorial de Código), Figura 3: El paquete IronXL se añade al proyecto El paquete IronXL se añade al proyecto

Ahora podemos usar la biblioteca en nuestro proyecto. Vayamos al archivo program.cs y escribamos el código para crear un archivo de Excel.

Código para crear archivos de Excel

Aquí está el código para crear un archivo de Excel programáticamente usando la biblioteca de IronXL en C#.

using IronXL;

// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Create a new worksheet named "example_sheet"
var sheet = workbook.CreateWorkSheet("example_sheet");

// Set value of a single cell
sheet["A1"].Value = "Example";

// Set value to multiple cells in a range
sheet["A2:A4"].Value = 5;

// Change background color of a cell
sheet["A5"].Style.SetBackgroundColor("#f0f0f0");

// Set style (bold font) to multiple cells in a range
sheet["A5:A6"].Style.Font.Bold = true;

// Set formula for cell A6
sheet["A6"].Value = "=SUM(A2:A4)";

// Verify if the value in A6 is the sum of the range A2:A4
if (sheet["A6"].IntValue == sheet["A2:A4"].IntValue)
{
    Console.WriteLine("Basic test passed");
}

// Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx");
using IronXL;

// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Create a new worksheet named "example_sheet"
var sheet = workbook.CreateWorkSheet("example_sheet");

// Set value of a single cell
sheet["A1"].Value = "Example";

// Set value to multiple cells in a range
sheet["A2:A4"].Value = 5;

// Change background color of a cell
sheet["A5"].Style.SetBackgroundColor("#f0f0f0");

// Set style (bold font) to multiple cells in a range
sheet["A5:A6"].Style.Font.Bold = true;

// Set formula for cell A6
sheet["A6"].Value = "=SUM(A2:A4)";

// Verify if the value in A6 is the sum of the range A2:A4
if (sheet["A6"].IntValue == sheet["A2:A4"].IntValue)
{
    Console.WriteLine("Basic test passed");
}

// Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx");
Imports IronXL

' Create a new Excel workbook in XLSX format
Private workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

' Create a new worksheet named "example_sheet"
Private sheet = workbook.CreateWorkSheet("example_sheet")

' Set value of a single cell
Private sheet("A1").Value = "Example"

' Set value to multiple cells in a range
Private sheet("A2:A4").Value = 5

' Change background color of a cell
sheet("A5").Style.SetBackgroundColor("#f0f0f0")

' Set style (bold font) to multiple cells in a range
sheet("A5:A6").Style.Font.Bold = True

' Set formula for cell A6
sheet("A6").Value = "=SUM(A2:A4)"

' Verify if the value in A6 is the sum of the range A2:A4
If sheet("A6").IntValue = sheet("A2:A4").IntValue Then
	Console.WriteLine("Basic test passed")
End If

' Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx")
$vbLabelText   $csharpLabel

En el siguiente código, importamos la biblioteca IronXL en la parte superior de nuestro programa. Luego, iniciamos un objeto WorkBook para crear un nuevo libro de trabajo de Excel en formato XLSX. A continuación, creamos una WorkSheet dentro del WorkBook usando el método CreateWorkSheet, proporcionando el nombre de la hoja de trabajo como un parámetro. Es posible crear múltiples hojas de trabajo de esta manera. Ahora, nuestro libro de Excel y hoja de cálculo están listos para usar.

A continuación, ingresamos datos en las celdas de la hoja de cálculo de Excel. Las celdas se pueden acceder por sus nombres, y la propiedad "Value" se usa para acceder o establecer valores de celdas. Se pueden establecer estilos, como tamaño y estilo de fuente, para celdas específicas o rangos de celdas. También se pueden definir fórmulas para celdas individuales o rangos de celdas. Finalmente, guardamos nuestro archivo de Excel como "example_workbook.xlsx", que se guardará en la carpeta de depuración de nuestro proyecto.

Resultado

Aquí puedes ver el resultado del programa creado.

Abrir archivo de Excel programáticamente en C# (Ejemplo de Tutorial de Código), Figura 4: Archivo de resultado mostrado en Microsoft Excel Archivo de resultado mostrado en Microsoft Excel

Conclusión

Podemos crear, leer y modificar archivos existentes de Microsoft Excel o un archivo XLSX en C#. IronXL proporciona muchas otras características para archivos de Microsoft Excel. Puedes explorar estas características en nuestra página de tutorial. IronXL es el paquete completo para trabajar con Excel. IronXL también ofrece una amplia gama de funciones para interactuar con libros de Excel, hojas de trabajo y celdas, como convertir entre formatos populares, formateo de datos de celdas, insertar funciones matemáticas, e incluso gestionar gráficos.

IronXL es completamente gratis para desarrollo. Puedes usarlo gratis en la fase de desarrollo con la marca de agua de IronXL. IronXL también ofrece una clave de prueba gratuita para producción, permitiéndote probarlo durante 30 días, completamente gratis. IronXL tiene un plan de precios razonable que puedes comprar en un nivel que se ajuste a tus requisitos.

Abrir archivo de Excel programáticamente en C# (Ejemplo de Tutorial de Código), Figura 5: Plan de precios de IronXL Plan de precios de IronXL

Además, Iron Software actualmente te ofrece cinco paquetes de software al precio de solo dos.

Preguntas Frecuentes

¿Cómo puedo abrir un archivo de Excel programáticamente en C#?

Para abrir un archivo de Excel programáticamente en C#, puede usar la biblioteca IronXL. Primero, instale IronXL a través del Administrador de Paquetes NuGet en Visual Studio. Luego, use la clase WorkBook para abrir y manipular archivos de Excel sin necesidad de Microsoft Office.

¿Cuáles son los beneficios de usar IronXL para la manipulación de archivos de Excel?

IronXL simplifica la manipulación de archivos de Excel en C# al ofrecer funcionalidades robustas para leer, crear y modificar archivos de Excel. Soporta grandes conjuntos de datos y ofrece funciones como formateo, cálculos de fórmulas y exportación a diferentes formatos.

¿Puedo crear archivos de Excel con grandes conjuntos de datos usando C#?

Sí, IronXL le permite crear archivos de Excel con millones de filas y miles de columnas, lo cual es ideal para manejar grandes conjuntos de datos y modelos de alta dimensión programáticamente.

¿Qué pasos debo seguir para configurar IronXL en un proyecto de C#?

Para configurar IronXL en un proyecto de C#, abra Visual Studio, vaya a Herramientas > Administrador de Paquetes NuGet > Administrar Paquetes NuGet para la Solución, busque IronXL e instálelo. Esto integrará la biblioteca en su proyecto para la manipulación de archivos de Excel.

¿Cómo puedo formatear celdas de Excel programáticamente usando IronXL?

Con IronXL, puede formatear celdas de Excel programáticamente configurando valores, estilos y fórmulas. Puede ajustar colores de fondo, aplicar diferentes estilos de fuente y usar fórmulas de Excel directamente en su código C#.

¿Se requiere Microsoft Office para trabajar con archivos de Excel en C#?

No, IronXL no requiere Microsoft Office para trabajar con archivos de Excel en C#. Funciona de manera independiente, permitiéndole crear, leer y editar archivos de Excel sin software adicional.

¿Cómo puedo convertir archivos de Excel a otros formatos usando C#?

IronXL le permite convertir archivos de Excel a otros formatos como CSV. Esto se logra utilizando su funcionalidad de exportación, permitiendo una conversión sin problemas entre diferentes tipos de archivos de hojas de cálculo.

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

IronXL ofrece una prueba gratuita para fines de desarrollo con una marca de agua. Para uso en producción, hay una clave de prueba gratuita de 30 días disponible, junto con varios planes de precios para satisfacer diferentes necesidades de los usuarios.

¿Qué versiones de .NET son compatibles con IronXL?

IronXL soporta múltiples versiones de .NET Framework, incluyendo .NET Framework 3.0 y superiores. Es aconsejable usar la versión más reciente de Visual Studio para obtener la mejor compatibilidad y rendimiento.

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