Una Comparación entre IronXL y GemBox.Spreadsheet
La capacidad de trabajar con archivos de Excel para generar informes y construir bases de datos se ha vuelto esencial para las aplicaciones de software actuales. Existen muchas bibliotecas disponibles que permiten a los usuarios hacer esto sin la necesidad de Microsoft Excel.
En este artículo, vamos a discutir cómo trabajar con documentos de Microsoft Excel de forma programática en C#.NET utilizando dos de las bibliotecas de hojas de cálculo más populares: IronXL y GemBox.Spreadsheet.
IronXL y GemBox.Spreadsheet proporcionan métodos para crear, editar y leer documentos de Excel en aplicaciones .NET. Entonces, ¿cómo decides cuál se adapta mejor a tu proyecto? Este artículo comparará ambas bibliotecas y te ayudará a decidir la mejor opción para tus proyectos.
Biblioteca IronXL
IronXL es una biblioteca .NET C# que facilita la lectura y edición de una amplia gama de formatos de hoja de cálculo. No requiere que Microsoft Excel esté instalado y no requiere Interop. IronXL admite completamente .NET Core, .NET Framework, Xamarin, Móvil, Linux, macOS y Azure.
Conjunto de características de IronXL
- Cargar, leer y editar datos — de XLS/XLSX/CSV/TSV
- Exportar y guardar en diferentes formatos — a XLS/XLSX/CSV/TSV/JSON
- Objetos
System.Data— funciona con hojas de cálculo WorkBook de Excel como objetosSystem.Data.DataSetySystem.Data.DataTable. - Trabaja con Fórmulas — funciona con fórmulas de Excel. Las fórmulas se recalculan cada vez que se edita una hoja.
- Trabaja con Rangos — su sintaxis de hoja de trabajo fácil de usar te permite crear y combinar rangos de manera intuitiva.
- Filtrado y Ordenación — puede ordenar rangos, columnas y filas.
- Estilo de Celdas — estilos visuales, fuente, tamaño, patrón de fondo, borde, alineación y formatos de número.
Hoja de cálculo de GemBox
GemBox.Spreadsheet es una biblioteca que te permite crear, leer, escribir, editar, convertir e imprimir archivos de hojas de cálculo en tus aplicaciones .NET C#. ¡Es hasta 250 veces más rápido que la automatización de Microsoft Excel!
Características de la API de GemBox.Spreadsheet
- Leer archivos de Excel (XLSX, XLS, ODS), archivos de texto (CSV, TXT) y archivos HTML.
- Crear hojas de cálculo y convertirlas a formatos XLSX, XLS, ODS, CSV, TXT, HTML, PDF, PDF/A, XPS e imágenes.
- Ver y editar hojas de cálculo en aplicaciones WPF, ASP.NET, ASP.NET Core y Windows.Forms.
- Aplicar fórmulas de celda usando su motor de cálculo.
- Crear y editar hojas, filas, columnas, celdas, fórmulas, imágenes, gráficos, formas, cuadros de texto, tablas, estilos de celda y formateo, y tablas dinámicas.
- Manipular encabezados, pies de página y propiedades del documento.
- Editar grupos de celdas, delineado de datos, validación de datos, protección de hojas y opciones de impresión/visualización.
- Importar y exportar datos de hojas de cálculo desde/hacia un
System.Data.DataSetySystem.Data.DataTable. - Imprimir hojas de cálculo de Excel.
El resto de este artículo continúa de la siguiente manera:
- Crear una aplicación de consola
- Instalación de la biblioteca C# de IronXL
- Instalación de GemBox.Spreadsheet
- Crear un Nuevo Libro de Excel
- Leyendo Archivos de Excel
- Trabajar con fórmulas de Excel
- Convertir Archivos
- Licencias
- Conclusión
1. Crear una aplicación de consola
Los siguientes pasos te ayudarán a crear una aplicación de consola:
- Descarga e instala el último IDE de Visual Studio.
- Iniciar Visual Studio y hacer clic en "Crear nuevo proyecto."
Luego, selecciona Aplicación de Consola (.NET Framework) C# de las plantillas de proyectos que se muestran.

Aplicación de consola
- Haz clic en Siguiente.
Aquí, especifica la versión de Framework que te gustaría usar. Se recomienda la última versión.

Configurar proyecto
- Haz clic en Crear para completar el proceso.
- Usando Visual Studio con NuGet Administrador de paquetes.
2. Instalación de la biblioteca IronXL C
- Descargar e instalar con el DLL Manualmente.
2.1. Visual Studio con NuGet Administrador de paquetes
Visual Studio 2022 ofrece NuGet Administrador de paquetes para instalar paquetes en tus proyectos.
2.1. Visual Studio con el Administrador de paquetes NuGet
- En la pestaña Explorar, busca "IronXL.Excel" y haz clic en el botón Instalar para agregar la biblioteca. - Después de que este proceso haya sido completado, IronXL ha sido instalado con éxito.

Administrador de paquetes
Otro método para descargar e instalar la Biblioteca IronXL es usar la Consola de NuGet Administrador de paquetes.
- Abre la consola Comando del Desarrollador.
2.2. Descargar e instalar la DLL manualmente
Presiona la tecla Enter.
- Abre la consola del Símbolo del Sistema para Desarrolladores.
2.4. Incluir la Biblioteca IronXL
Install-Package IronXL.Excel
- Abre el archivo Program.cs. 2. Agrega la siguiente línea de código en la parte superior del archivo de código:
2.4. Incluir la biblioteca IronXL
Usa este comando en NuGet Administrador de paquetes para instalar GemBox.Spreadsheet. Alternativamente, puedes descargar y ejecutar el instalador.
using IronXL;using IronXL;3. Instalación de GemBox.Spreadsheet
4. Crear y Guardar un Nuevo Libro de Excel
Install-Package GemBox.Spreadsheet

Buscar en GemBox.Spreadsheet
Alternativamente, puedes descargar y ejecutar el instalador de configuración.
Veamos cómo cada biblioteca logra esto.
using GemBox.Spreadsheet;
// If using Professional version, put your serial key below.
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");using GemBox.Spreadsheet;
// If using Professional version, put your serial key below.
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");4. Crear y guardar un nuevo libro de Excel
Agrega el siguiente código a tu archivo Program.cs: ### 4.2. Nuevo Libro de Excel y Hojas usando GemBox.Spreadsheet Veamos cómo cada biblioteca lo logra.
4.1. Nuevo libro de trabajo y hojas de cálculo de Excel con IronXL
5. Leyendo Archivos de Excel
Agrega el siguiente código a tu archivo Program.cs:
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.CreateWorkSheet("IronXL Features");
//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.CreateWorkSheet("IronXL Features");
//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");4.2. Nuevo libro y hojas de cálculo de Excel con GemBox.Spreadsheet
5.1. Leyendo Archivos de Excel usando IronXL
// Create a new empty Excel file.
var workbook = new ExcelFile();
// Create a new worksheet and set cell A1 value to 'Hello world!'.
workbook.Worksheets.Add("Sheet 1").Cells["A1"].Value = "Hello world!";
// Save to XLSX file.
workbook.Save("Spreadsheet.xlsx");// Create a new empty Excel file.
var workbook = new ExcelFile();
// Create a new worksheet and set cell A1 value to 'Hello world!'.
workbook.Worksheets.Add("Sheet 1").Cells["A1"].Value = "Hello world!";
// Save to XLSX file.
workbook.Save("Spreadsheet.xlsx");5. Lectura de archivos de Excel
La clase WorkBook en IronXL representa una hoja de Excel. El siguiente código carga una hoja de cálculo:
5.1. Lectura de archivos de Excel con IronXL
La clase WorkBook en IronXL representa una hoja de Excel. Para abrir y leer un archivo de Excel en C#, usamos WorkBook.Load y especificamos la ruta exacta del archivo de Excel (.xlsx).
El siguiente código ilustra cómo abrir y leer un archivo.
// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");Implementar fórmulas es una de las características más importantes de Excel.
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}5.2. Leer archivos de Excel con GemBox.Spreadsheet
Ambas bibliotecas ofrecen un potente motor de cálculo de fórmulas que se pueden recalcular y guardar en celdas. ### 6.2. Trabajando con Fórmulas de Excel usando GemBox.Spreadsheet
var workbook = ExcelFile.Load("SimpleTemplate.xlsx");
var worksheet = workbook.Worksheets["sheetnamegoeshere"];
foreach (var cell in worksheet.Cells.GetSubrange("A2", "A20"))
{
Console.WriteLine("Cell {0} has value '{1}'", cell.Name, cell.Value);
}var workbook = ExcelFile.Load("SimpleTemplate.xlsx");
var worksheet = workbook.Worksheets["sheetnamegoeshere"];
foreach (var cell in worksheet.Cells.GetSubrange("A2", "A20"))
{
Console.WriteLine("Cell {0} has value '{1}'", cell.Name, cell.Value);
}6. Trabajar con fórmulas de Excel
GemBox.Spreadsheet permite leer rápidamente archivos de Excel en tu C#. Veamos cómo usarlas.
6.1. Trabajar con fórmulas de Excel con IronXL
7. Convertir Archivos — (Excel, XLS, XLSX, XLSb, XLSM, Intercambio de Datos XPS)
// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();También puedes recuperar fórmulas y sus valores:
// Get the formula's calculated value. e.g., "52"
var formulaValue = worksheet["G30"].Value;
//Get the formula as a string. e.g., "Max(C3:C7)"
var formulaString = worksheet["G30"].Formula;
//Save your changes with updated formulas and calculated values.
workbook.Save();// Get the formula's calculated value. e.g., "52"
var formulaValue = worksheet["G30"].Value;
//Get the formula as a string. e.g., "Max(C3:C7)"
var formulaString = worksheet["G30"].Formula;
//Save your changes with updated formulas and calculated values.
workbook.Save();6.2. Trabajar con fórmulas de Excel con GemBox.Spreadsheet
7.1. Convertir Tipos de Hoja de Cálculo usando IronXL #### CSV a Formatos de Excel
// Set Formulas
worksheet.Cells["A2"].Value = "=1 + 1";
worksheet.Cells["A3"].Value = "=3 * (2 - 8)";
worksheet.Cells["A10"].Value = "=SIGN(B9)";
worksheet.Cells["A11"].Value = "=SUM(B2:B10)";
workbook.Save("Formula Calculation.xlsx");// Set Formulas
worksheet.Cells["A2"].Value = "=1 + 1";
worksheet.Cells["A3"].Value = "=3 * (2 - 8)";
worksheet.Cells["A10"].Value = "=SIGN(B9)";
worksheet.Cells["A11"].Value = "=SUM(B2:B10)";
workbook.Save("Formula Calculation.xlsx");7. Interconversión de archivos (Excel, XLS, XLSX, XLSb, XLSM, XPS)
Excel a HTML con opciones
7.1. Convertir tipos de hojas de cálculo con IronXL
Formatos de CSV a Excel
var workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");var workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");Archivo XLSX a XLSM
var workbook = WorkBook.Load("test.xlsx");
// This is how you can export the workbook to .xlsm format
workbook.SaveAs("test.xlsm");var workbook = WorkBook.Load("test.xlsx");
// This is how you can export the workbook to .xlsm format
workbook.SaveAs("test.xlsm");Excel a HTML con opciones
var workbook = WorkBook.Load("test.xlsx");
var options = new HtmlExportOptions()
{
// This is how we can make row/column numbers visible in the HTML document
OutputRowNumbers = true,
OutputColumnHeaders = true,
OutputHiddenColumns = true,
// This is how we can make hidden rows/columns visible in the HTML document
OutputHiddenRows = true,
OutputLeadingSpacesAsNonBreaking = true
};
// This is how we can export the workbook to the HTML file
workbook.ExportToHtml("workbook.html", options);var workbook = WorkBook.Load("test.xlsx");
var options = new HtmlExportOptions()
{
// This is how we can make row/column numbers visible in the HTML document
OutputRowNumbers = true,
OutputColumnHeaders = true,
OutputHiddenColumns = true,
// This is how we can make hidden rows/columns visible in the HTML document
OutputHiddenRows = true,
OutputLeadingSpacesAsNonBreaking = true
};
// This is how we can export the workbook to the HTML file
workbook.ExportToHtml("workbook.html", options);7.2. Convertir tipos de hojas de cálculo con GemBox.Spreadsheet
Archivo XLSX a PDF
var workbook = ExcelFile.Load("ComplexTemplate.xlsx");
workbook.Save("Convert.pdf", new PdfSaveOptions() { SelectionType = SelectionType.EntireFile });var workbook = ExcelFile.Load("ComplexTemplate.xlsx");
workbook.Save("Convert.pdf", new PdfSaveOptions() { SelectionType = SelectionType.EntireFile });Archivo XLSX a imágenes
// Load an Excel file into the ExcelFile object.
var workbook = ExcelFile.Load("CombinedTemplate.xlsx");
// Create image save options.
var imageOptions = new ImageSaveOptions(ImageSaveFormat.Png)
{
PageNumber = 0, // Select the first Excel page.
Width = 1240, // Set the image width.
CropToContent = true // Export only the sheet's content.
};
// Save the ExcelFile object to a PNG file.
workbook.Save("Output.png", imageOptions);// Load an Excel file into the ExcelFile object.
var workbook = ExcelFile.Load("CombinedTemplate.xlsx");
// Create image save options.
var imageOptions = new ImageSaveOptions(ImageSaveFormat.Png)
{
PageNumber = 0, // Select the first Excel page.
Width = 1240, // Set the image width.
CropToContent = true // Export only the sheet's content.
};
// Save the ExcelFile object to a PNG file.
workbook.Save("Output.png", imageOptions);Archivo CSV a Excel
ExcelFile.Load("CSVTemplate.csv").Save("Convert.xlsx");ExcelFile.Load("CSVTemplate.csv").Save("Convert.xlsx");Cada licencia incluye 30 días de garantía de devolución, un año de soporte y actualizaciones, validez para desarrollo/staging/producción, y una licencia perpetua.
8. Licencias
La licencia lite comienza en $799. GemBox.Spreadsheet también es una biblioteca comercial. Todas las Licencias de IronXL están disponibles para usar con un solo proyecto, desarrolladores individuales, agencias y corporaciones globales, con o sin redistribución SaaS y OEM. Sin embargo, también puede ser licenciado para uso profesional. La licencia lite comienza en $799.
Incluye despliegue sin regalías, 12 meses de soporte técnico gratuito y actualizaciones. El paquete para un solo desarrollador comienza desde $890. ## 9. ¿Qué Biblioteca de Hojas de Cálculo .NET Debe Usarse? Sus licencias incluyen uso para desarrolladores individuales, equipos pequeños y grandes empresas. IronXL y GemBox.Spreadsheet ofrecen enfoques únicos para automatización de lectura y escritura. Entonces, ¿qué biblioteca de Excel .NET deberían usar los desarrolladores en sus proyectos?
9. ¿Qué biblioteca de hojas de cálculo .NET se debería utilizar?
- Accesibilidad. IronXL prioriza la facilidad de uso, precisión, y velocidad.
La biblioteca permite realizar tareas comunes de Excel rápida y concisamente en pocas líneas de código.
El sitio web ofrece muchos tutoriales, guías y ejemplos de código para ayudar a los usuarios a comenzar y alcanzar sus metas fácilmente.
- Accesibilidad. Los desarrolladores pueden usar IronXL si el soporte y la facilidad de uso son cruciales. Para notar, el sitio web de GemBox.Spreadsheet también tiene una colección de ejemplos detallados disponibles para ayudar a los desarrolladores a aprovechar al máximo sus poderosas funciones. 2. Versatilidad. IronXL tiene un equipo de ingenieros disponibles 24/5 para ayudar con problemas.
El conjunto de funciones de GemBox.Spreadsheet permite realizar automatizaciones avanzadas de Excel.
A tener en cuenta, el sitio web de GemBox.Spreadsheet también tiene una colección de ejemplos detallados disponibles para ayudar a los desarrolladores a sacar el máximo provecho de sus potentes conjuntos de características.
Además, la biblioteca tiene mecanismos muy sofisticados para referenciar rangos de celdas. GemBox.Spreadsheet es una opción atractiva para los desarrolladores que demandan flexibilidad y potencia en sus tareas de gestión de hojas de cálculo. 3. Interoperabilidad. 2. Versatilidad. La biblioteca cuenta con mecanismos sofisticados para referenciar rangos de celdas.
- Convertibilidad.
Desarrolladores que necesiten hojas de cálculo en productos de oficina pueden considerar GemBox.Spreadsheet como una alternativa atractiva. IronXL también puede convertir datos de hojas de cálculo en datos binarios, byte, y flujo, y en estructuras de datos System.Data. GemBox.Spreadsheet puede convertir datos hacia y desde System.Data.DataSet y System.Data.DataTable. También importa y exporta como HTML, y convierte datos en imágenes y documentos PDF/A.
La elección entre ambas bibliotecas dependerá de los tipos de datos/archivos necesarios. 5. Asequibilidad. IronXL también puede convertir datos de hojas de cálculo en datos binarios, byte y de flujo, y a estructuras de datos System.Data.
GemBox.Spreadsheet también puede convertir datos de hojas de cálculo hacia y desde System.Data.DataSet y los tipos de datos System.Data.DataTable. Además, la biblioteca puede importar y exportar como HTML, y puede convertir datos en imágenes y documentos compatibles con PDF/A.
El costo de licencia $799 de IronXL puede resultar atractivo para desarrolladores y equipos sensibles al precio.
*Prueba la prueba gratuita de IronXL para evaluar su eficiencia. IronXL y GemBox.Spreadsheet requieren licencias premium para uso comercial.
Pruebe la versión de prueba gratuita de IronXL para ver la eficiencia de IronXL. Compre la suite Iron Suite completa para obtener cuatro bibliotecas adicionales por el precio de solo dos licencias IronXL.
Preguntas Frecuentes
¿Cómo puedo crear documentos Excel en una aplicación .NET?
Puedes crear documentos Excel en una aplicación .NET usando IronXL. Te permite generar archivos Excel programáticamente, personalizar estilos y gestionar datos sin necesidad de tener Microsoft Excel instalado.
¿Qué características debo buscar en una librería Excel para .NET?
Al elegir una librería Excel para .NET, considera características como manejo de fórmulas, manipulación de datos, personalización de estilos, conversión de formatos y soporte para múltiples formatos de hojas de cálculo. IronXL ofrece todas estas características con un enfoque en facilidad de uso y velocidad.
¿Cómo comparan IronXL y GemBox.Spreadsheet en términos de rendimiento?
IronXL es conocido por su facilidad de uso y velocidad, lo que lo hace ideal para tareas de automatización de Excel sencillas. GemBox.Spreadsheet ofrece extensas características y flexibilidad, adecuadas para tareas de Excel más complejas, con alta interoperabilidad.
¿Puedo convertir archivos Excel a diferentes formatos en .NET?
Sí, con IronXL, puedes convertir archivos Excel a varios formatos como XML, HTML, JSON y CSV. GemBox.Spreadsheet permite conversiones a PDF, imágenes y más, ofreciendo una amplia gama de opciones de formato.
¿Cómo puedo manejar fórmulas Excel en una aplicación .NET?
IronXL soporta el manejo de fórmulas Excel, permitiéndote establecer, editar y recuperarlas. Recalcula automáticamente las fórmulas cada vez que la hoja es editada, asegurando que tus datos permanezcan precisos.
¿Cuáles son las opciones de licenciamiento para usar librerías Excel en proyectos .NET?
IronXL ofrece una licencia comercial para el despliegue, gratuita para propósitos de desarrollo, con opciones para proyectos individuales, desarrolladores, agencias y corporaciones. GemBox.Spreadsheet proporciona uso gratuito para propósitos no comerciales y licencias profesionales para uso comercial.
¿Cómo puedo instalar una librería Excel para .NET en mi proyecto?
Para instalar IronXL en tu proyecto .NET, usa el Administrador de Paquetes NuGet de Visual Studio o descarga el DLL manualmente y agrégalo a tu proyecto. Este proceso te permite integrar las funcionalidades de IronXL en tu aplicación.
¿Qué librería Excel para .NET debo elegir para las necesidades de mi proyecto?
La elección entre IronXL y GemBox.Spreadsheet depende de tus necesidades específicas del proyecto. IronXL es adecuado para aquellos que priorizan la simplicidad y el soporte, mientras que GemBox.Spreadsheet es ideal para usuarios que requieren características avanzadas de automatización de Excel.






