Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En este artículo, discutiremos dos bibliotecas de Python ampliamente utilizadas para administrar archivos de hojas de cálculo de Excel: IronXL y OpenPyXL. Estas bibliotecas son importantes para los desarrolladores de Python que necesitan manipular, analizar o crear documentos de archivos Excel. Cada biblioteca ofrece características únicas para facilitar el manejo de archivos Excel de forma más eficaz y eficiente.
IronXL y OpenPyXL ofrecen a los desarrolladores la capacidad de automatizar operaciones de hojas de cálculo, editar celdas de hojas Excel y extraer datos de muestra. También admiten funciones avanzadas como la creación de fórmulas, la estilización de celdas y el manejo de grandes conjuntos de datos sin problemas. Esto garantiza que las aplicaciones puedan gestionar archivos Excel de forma eficaz en varios entornos sin comprometer el rendimiento ni la compatibilidad.
En esta comparación, exploraremos las características únicas de cada biblioteca y cómo funcionan. También trataremos los detalles de sus licencias. Veamos las diferencias y capacidades de IronXL y OpenPyXL, centrándonos en información clara y útil para los desarrolladores.
OpenPyXL es una biblioteca Python diseñada para manejar archivos Excel en formato XLSX. La biblioteca permite a los desarrolladores leer, escribir y modificar archivos Excel. El módulo OpenPyXL soporta una gran variedad de funcionalidades de Excel, incluyendo manipulación de datos, formateo y características avanzadas como gráficos y tablas dinámicas.
OpenPyXL destaca en la creación y edición de libros de trabajo. Permite empezar con un libro en blanco o modificar uno existente, añadir o eliminar hojas y navegar por las hojas fácilmente. Esto lo hace perfecto para tareas que van desde la generación de informes a la automatización de entradas de datos.
Esta biblioteca admite funciones avanzadas de tratamiento de datos, como añadir filas, insertar fórmulas y aplicar estilos a la hoja activa. Puede manipular grandes conjuntos de datos estableciendo los valores de las celdas mediante programación, lo que simplifica tareas como el análisis de datos y la generación de informes.
Con OpenPyXL, puede aplicar formato de celda como fuentes, colores y bordes. También admite el formato condicional y la configuración de propiedades de celda como la alineación, que son esenciales para crear informes de Excel con un estilo profesional.
OpenPyXL puede añadir elementos gráficos a las hojas de cálculo. Puede insertar gráficos para visualizar los datos e incluso añadir imágenes para mejorar la presentación de la información. Esta función es especialmente útil para crear cuadros de mando e informes complejos.
La biblioteca permite integrar fórmulas de Excel en las celdas, lo que permite realizar cálculos automatizados en las hojas de cálculo. También permite crear rangos con nombre, lo que puede resultar muy útil para organizar los datos y crear hojas más legibles y fáciles de mantener.
OpenPyXL proporciona herramientas para la validación y ordenación de datos, que son cruciales para mantener la integridad de los datos y organizar la información de forma eficaz. También ofrece funciones para filtrar datos, lo que facilita la gestión de grandes volúmenes de datos en archivos Excel.
Como biblioteca de código abierto, OpenPyXL se beneficia de las continuas contribuciones de una comunidad dinámica, lo que garantiza que siga siendo relevante y rica en funciones. Esta implicación de la comunidad proporciona una gran cantidad de recursos y apoyo a los desarrolladores que utilizan la biblioteca.
IronXL es una robusta biblioteca Python diseñada para manipular archivos Excel sin necesidad de Microsoft Excel. Es favorecido por su simplicidad y eficacia en el manejo de varias tareas de Excel directamente dentro de entornos Python.
IronXL simplifica el creación, carga y almacenamiento de formatos Excel como XLS, XLSX y CSV, entre otros. Garantiza la compatibilidad con distintas versiones de Excel y ofrece una funcionalidad completa para gestionar datos de Excel mediante programación.
Con IronXL, puede clasificar datos de forma eficaz, gestionar filas y columnasy personalizar el formato de las celdas. Esto incluye la configuración de tipos de datos y fórmulas, e incluso la implementación de funciones de Excel dentro de las celdas.
IronXL permite opciones de estilo para las celdasincluyendo la configuración de fuentes, bordes y colores de fondo. Es compatible con funciones avanzadas de Excel, como el formato condicional y la configuración de opciones de impresión para hojas de cálculo, lo que mejora la legibilidad y la presentación de sus informes de Excel.
La biblioteca admite la edición de metadatos, la gestión de permisos y la protección de archivos mediante contraseña, lo que garantiza la salvaguarda de los datos confidenciales.
IronXL está diseñado para funcionar en múltiples sistemas operativos, incluidos Windows, macOS y Linux, lo que garantiza que los desarrolladores puedan desplegar sus aplicaciones en varias plataformas sin problemas de compatibilidad.
IronXL ofrece sólidas funciones para manejar rangos de hojas y celdas individuales. Puede combinar, copiar y manipular fácilmente rangos de celdas. Esta función simplifica la gestión de configuraciones de datos complejas.
IronXL se integra a la perfección con bases y fuentes de datos. Permite importar y exportar datos desde y hacia archivos Excel. Esta función es esencial para las aplicaciones que requieren informes y análisis de datos dinámicos.
Para comenzar a probar las bibliotecas IronXL y OpenPyXL, necesitamos configurar un proyecto en Visual Studio Code, adaptado específicamente para el desarrollo de Python.
Antes de empezar, asegúrese de que Visual Studio Code está instalado en su ordenador. También es necesario tener instalado Python, junto con la extensión de Python para Visual Studio Code. Esta extensión puede añadirse directamente desde la vista Extensiones en Visual Studio Code.
Comienza creando una nueva carpeta en tu sistema, que servirá como espacio de trabajo para tu proyecto. Puede hacerlo fácilmente utilizando la opción Abrir carpeta del menú Archivo de VS Code.
En Visual Studio Code, es aconsejable configurar un entorno virtual para gestionar las dependencias de forma limpia. Puede hacerlo utilizando el terminal integrado en Visual Studio Code. Visual Studio Code también proporciona una interfaz en la extensión Python para simplificar este proceso. A través de la paleta de comandos de la extensión de Python, puede crear y activar un entorno virtual sin tener que escribir los comandos manualmente.
Pulsa Ctrl+Shft+P en VS Code busca "Python: Crear entorno" y haz clic sobre él.
Selecciona un tipo de entorno de la lista desplegable. En nuestro caso, será ".venv":
A continuación, seleccione la ruta del intérprete de Python:
Creará el entorno virtual Python dentro de la carpeta.
La instalación de la biblioteca IronXL en Visual Studio Code es un proceso sencillo. IronXL es especialmente útil porque no requiere la instalación de Microsoft Office, sino que funciona sobre el .NET Framework.
Antes de instalación de IronXLasegúrese de que su entorno ya está configurado con Python y Visual Studio Code. Es importante tener instalado el tiempo de ejecución .NET 6.0 en su máquina, ya que IronXL depende de tecnologías .NET para funcionar. Para los sistemas que aún no están equipados con .NET, como Linux o macOS, es posible que tenga que descargarlo del sitio web oficial de .NET.
Para instalar IronXL, utilice el gestor de paquetes pip, que simplifica la instalación de bibliotecas Python. Siga estos pasos en el terminal dentro de Visual Studio Code:
pip install IronXL
El comando de código anterior descargará e instalará la librería IronXL junto con cualquier dependencia necesaria para su funcionamiento.
from ironxl import *
Si no aparece ningún error, la biblioteca se ha instalado correctamente y está lista para su uso.
Durante la instalación de IronXL, si encuentra algún problema relacionado con las dependencias o la compatibilidad con .NET, asegúrese de que se cumplen todos los requisitos del sistema especificados en la documentación de IronXL. Puede que sea necesario ajustar las rutas del sistema o instalar bibliotecas de soporte adicionales en función de su sistema operativo.
Siguiendo estas instrucciones, IronXL se instalará en su entorno Python en Visual Studio Code, preparando el escenario para mejorar la manipulación de archivos Excel y las capacidades de procesamiento de datos dentro de sus proyectos Python.
La instalación de OpenPyXL puede realizarse utilizando pip, el instalador de paquetes de Python. Se recomienda instalar esta biblioteca en un entorno virtual para evitar conflictos con otros proyectos Python o paquetes del sistema.
pip install openpyxl
Este comando descarga e instala la librería OpenPyXL junto con las dependencias necesarias.
pip install lxml pillow
Después de la instalación, puede verificar que OpenPyXL está instalado correctamente intentando importar el módulo OpenPyXL en su script de Python:
from openpyxl import Workbook // openpyxl import workbook
wb = Workbook()
Si el código anterior se ejecuta sin errores, OpenpyXL está listo para ser utilizado en sus proyectos. Siguiendo estos pasos, puedes configurar fácilmente OpenPyXL y comenzar a automatizar operaciones con archivos Excel en tus aplicaciones Python.
IronXL es una completa biblioteca Python diseñada para mejorar la manipulación de archivos Excel. Esta herramienta simplifica el proceso de creación, edición y gestión de archivos Excel dentro de aplicaciones Python, proporcionando una serie de funciones que satisfacen diversas necesidades, desde operaciones básicas con hojas de cálculo hasta el manejo avanzado de datos.
IronXL destaca en el manejo de diferentes formatos de Excel, incluidos XLS, XLSX y CSV. Los usuarios pueden importar fácilmente datos de muestra de estos formatos o exportar hojas de trabajo a ellos, lo que facilita el intercambio de datos versátiles y soluciones de informes. También puede seleccionar la hoja activa para trabajar en una hoja concreta.
from ironxl import * workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")
La biblioteca admite Fórmulas Excelque permite realizar cálculos dentro de la hoja Excel. Cada vez que se edita una hoja, las fórmulas se recalculan automáticamente, lo que garantiza la coherencia y precisión de los datos.
from ironxl import *
# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")
# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"
# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()
# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue
# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
IronXL ofrece amplias opciones de formato de celda. Los usuarios pueden ajustar fuentes, tamaños, fondos, bordes y alineación directamente en una hoja de cálculo Excel mediante código. Esta función ayuda a preparar presentaciones de datos e informes que requieren directrices estilísticas específicas.
from ironxl import * License.LicenseKey = "License Code";
workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")
selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000
selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False
selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin
selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")
selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True
# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
Para mejorar la integridad de los datos, IronXL incluye funciones de validación de datos. También ofrece sólidas funciones de ordenación de rangos, columnas y filas, lo que facilita la organización y el análisis de grandes conjuntos de datos.
Elementos de seguridad en IronXL incluyen la capacidad de cifrar y descifrar archivos de Excel. Así se garantiza que la información sensible esté protegida y sólo puedan acceder a ella los usuarios autorizados.
from ironxl import *
# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet
# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")
# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")
# Clear any existing password protection
workbook.Password = None
# Save changes to the workbook
workbook.Save()
worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
IronXL no se limita a manejar archivos de Excel como XLSX, XLSM, XLTX, XLTM. También puede convertir documentos Excel en formatos JSON, XML, HTML o binario, ampliando las posibilidades de utilización de datos en distintas plataformas y entornos de programación.
from ironxl import *
workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")
worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")
workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")
La biblioteca simplifica la gestión de los libros de trabajo permitiendo a los usuarios crear, cargar y manipular libros de trabajo completos u hojas de cálculo individuales. Esto incluye añadir o eliminar hojas, así como configurar la visibilidad de las hojas y los ajustes de impresión.
from ironxl import *
# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")
# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")
# Fill data into the new worksheet
for i in range(1, 21):
new_worksheet[f"A{i}"].Value = f"Data {i}"
new_worksheet[f"B{i}"].Value = 21 - i
new_worksheet[f"C{i}"].Value = i % 5
new_worksheet[f"D{i}"].Value = (i * 3) % 7
# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]
# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)
# Sort the range in ascending order based on column A
selected_range.SortAscending()
# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)
# Sort column B in descending order
column.SortDescending()
# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
IronXL permite a los usuarios insertar nuevas filas y columnas en hojas de cálculo Excel existentes. Esta función es especialmente útil para modificar las estructuras de datos en respuesta a las necesidades cambiantes de datos sin alterar el diseño general de la hoja de cálculo.
# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)
Con IronXL, los usuarios pueden agrupar o desagrupar filas y columnas. Esta funcionalidad mejora la organización de los datos, lo que facilita la navegación y la gestión de conjuntos de datos complejos al contraer y expandir los datos agrupados según sea necesario.
IronXL es compatible con repetición de filas y columnas en varias páginas de un libro de trabajo. Esto resulta útil para crear encabezados o pies de página que deben aparecer en todas las páginas impresas de un documento Excel, garantizando una presentación y legibilidad coherentes.
# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)
Los usuarios pueden duplicar hojas de trabajo existentes dentro del mismo libro utilizando IronXL. Esta función ahorra tiempo al crear varias hojas que comparten un formato común o al hacer copias de seguridad de datos importantes. Es muy útil para copiar datos.
# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")
IronXL ofrece la posibilidad de añadir imágenes a las hojas de cálculoextraer imágenes de ellas o eliminarlas. Esto mejora el atractivo visual de las hojas de cálculo y es útil para informes que incluyen datos gráficos, logotipos o imágenes instructivas.
OpenPyXL permite el formato condicional, lo que le permite cambiar el estilo de las celdas en función de los datos que contienen. Esto puede incluir el establecimiento de colores basados en valores numéricos o la aplicación de diferentes tipos de letra y estilos en función de condiciones específicas, lo que mejora la presentación visual de los datos.
from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule
wb = Workbook()
ws = wb.active
color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)
wb.save('conditional_formatting.xlsx')
Con OpenPyXL, puede implementar la validación de datos para controlar el tipo de datos introducidos en las celdas. Esto incluye establecer listas desplegables, restringir las entradas a un determinado rango de fechas o números y generar mensajes de error para entradas no válidas, lo que ayuda a mantener la integridad de los datos.
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
wb = Workbook()
ws = wb.active
dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'
wb.save('data_validation.xlsx')
La biblioteca permite crear y personalizar varios tipos de gráficos, como los de líneas, barras, tarta y dispersión. Esta función permite visualizar los datos directamente en las hojas de Excel, lo que facilita el análisis de datos y la elaboración de informes. Denotamos la fila del gráfico y seleccionamos la referencia de los valores a mostrar en el gráfico.
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")
wb.save("chart.xlsx")
OpenPyXL ofrece la posibilidad de combinar varias celdas para crear una única celda más grande, lo que suele ser útil para dar formato a los títulos u organizar los datos. También permite desagregar estas células o volver a dividirlas en células individuales si es necesario.
Puede leer y escribir comentarios en las celdas, lo que permite incluir notas o instrucciones adicionales en el archivo Excel. Esta función es especialmente útil para proyectos de colaboración en los que puede ser necesario compartir notas y directrices entre usuarios.
from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment
wb.save('comments.xlsx')
La biblioteca ofrece la posibilidad de crear tablas dinámicas a partir de los datos de las hojas de cálculo. Esta potente herramienta ayuda a resumir, analizar, explorar y presentar sus datos de forma exhaustiva, lo que facilita la extracción de conclusiones y la toma de decisiones fundamentadas basadas en grandes conjuntos de datos.
Documentación: IronXL proporciona una extensa documentación para desarrolladores Python. Cubre una amplia gama de temas, incluyendo cómo leer, escribir y editar documentos Excel, gestionar libros, estilizar celdas y ordenar datos mediante programación. La documentación está diseñada para ser sencilla y se complementa con numerosos ejemplos de código para ayudar a los desarrolladores a integrar rápidamente las funcionalidades de IronXL en sus aplicaciones.
Soporte: IronXL ofrece sólidas opciones de soporte. Los desarrolladores pueden acceder a la asistencia a través de una completa sección de preguntas frecuentes, documentación detallada en línea y ayuda directa por correo electrónico. Para consultas más complejas o asistencia inmediata, existe la opción de ponerse en contacto directamente con su equipo de ingenieros.
Documentación: La documentación de OpenPyXL es completa y está bien organizada, ofreciendo a los desarrolladores guías sobre todo, desde cómo empezar hasta características avanzadas como gráficos, validación de datos con mensaje de error y formato condicional. La documentación incluye explicaciones detalladas y fragmentos de código útiles tanto para usuarios nuevos como experimentados.
Soporte: OpenPyXL proporciona soporte principalmente a través de foros de la comunidad y rastreadores de problemas en sus repositorios oficiales. Los desarrolladores pueden publicar problemas y contribuir a la biblioteca en GitHub, lo que la convierte en una herramienta colaborativa y en continua evolución.
IronXL ofrece varios licencia perpetua opciones adaptadas a las distintas necesidades de los proyectos, todo ello para garantizar que los desarrolladores puedan utilizar la biblioteca en diversos entornos sin costes continuos.
Licencia profesional: A 2.999 dólares, es el paquete más completo, ya que admite 10 desarrolladores, 10 ubicaciones y 10 proyectos. Ofrece las mismas opciones de soporte que la licencia Plus, junto con soporte de pantalla compartida para una asistencia en profundidad.
Otras opciones son:
Soporte y actualizaciones ampliados del producto: Los desarrolladores pueden elegir soporte y actualizaciones continuos con una opción gratuita de 1 año o un paquete de 5 años por 499 dólares. Esto incluye actualizaciones de las funciones de seguridad y soporte directo del equipo de ingeniería.
Cada licencia también incluye una garantía de devolución del dinero de 30 días, lo que permite a los desarrolladores probar IronXL sin riesgos. Estas condiciones de licencia hacen de IronXL una opción flexible para proyectos de diversos alcances y tamaños, proporcionando vías claras para su implantación en diferentes entornos profesionales.
OpenPyXL se distribuye bajo la licencia MIT, que es una licencia de software libre permisiva. Esto significa que permite una libertad de uso considerable tanto para el software de código abierto como para el propietario. La licencia MIT permite la reutilización dentro de software propietario siempre que todas las copias del software licenciado incluyan una copia de los términos de la licencia MIT y el aviso de copyright.
En nuestra revisión de IronXL y OpenPyXL, hemos visto sus características, usabilidad, opciones de soporte y licencias. Ambas bibliotecas son excelentes para gestionar archivos Excel, pero responden a necesidades diferentes.
IronXL destaca por sus amplias funciones que permiten realizar complejas manipulaciones de Excel sin necesidad de Microsoft Office. Ofrece documentación detallada y un sólido soporte técnico, lo que lo convierte en una opción fiable para proyectos o empresas de mayor envergadura. Los científicos de datos utilizan IronXL para múltiples propósitos como la copia de datos, la minería de datos, el análisis de datos y muchas otras tareas. Las licencias de IronXL cuestan a partir de $599, pero incluyen una prueba gratuita. Esta versión de prueba permite a los desarrolladores probar a fondo las capacidades de IronXL antes de realizar la compra, lo que supone una gran ventaja para cualquier proyecto serio.
OpenPyXL también es potente, especialmente con sus funciones avanzadas de Excel, como los gráficos de líneas y el formato condicional. Está disponible bajo la licencia MIT, que ofrece flexibilidad tanto para el código abierto como para el uso comercial. Su soporte está impulsado por la comunidad, lo cual es genial, pero no tiene el soporte estructurado que proporciona IronXL.
Si su proyecto necesita características de alto nivel junto con un soporte profesional y continuo, IronXL es la mejor opción. Puede que cueste al principio, pero la inversión merece la pena por las ventajas y la seguridad que ofrece, sobre todo para proyectos complejos o a largo plazo.
9 productos API .NET para sus documentos de oficina