Aspose.Cells for Java Vs Competidores de Código Abierto

Visión general

La mayoría de escenarios de negocio demandan informes sofisticados que sean ricos en contenido y se centren en las necesidades de las decisiones o tareas específicas que la gerencia general utilizará. También requieren algún medio de recopilación de datos, análisis e interfaz con sistemas de base de datos.

Una solución común es el uso de hojas de cálculo para la recopilación de datos, análisis y como herramienta de presentación. La solución debería ser capaz de crear archivos de Microsoft Excel completamente formateados que puedan analizar un escenario de negocio y, idealmente, extender estas funciones básicas para explorar los procesos de captura y exportación de datos a otras aplicaciones de oficina ampliamente utilizadas. Estos desarrollos pueden incluir el uso de las funciones y características integradas de Microsoft Excel.

Nos encontramos con diferentes componentes de hojas de cálculo en el mercado hoy en día que realmente prometen contar con APIs ricas en funciones para la gestión de hojas de cálculo. Aquí, realizamos un análisis de funciones de Aspose.Cells for Java en comparación con sus competidores de código abierto JExcelAPI y POI’s HSSF. Permítanme dar una introducción de los tres primeros.

Aspose.Cells for Java

Aspose.Cells for Java es un componente flexible que permite a las aplicaciones Java crear y gestionar hojas de cálculo de Excel sin necesidad de tener instalado Microsoft Excel en el sistema (cliente o servidor). A diferencia de productos similares de otros proveedores, Aspose.Cells for Java no solo admite la generación de hojas de cálculo y funciones básicas de formateo de archivos, sino también varias funciones avanzadas. Estas funciones avanzadas facilitan a los desarrolladores manipular el contenido de la hoja de cálculo, el formato de celdas y las opciones de protección de archivos.

Aspose.Cells for Java también puede importar datos a las hojas de cálculo desde diferentes fuentes de datos, agregar fórmulas y funciones matemáticas, de fecha/hora, financieras y de texto comunes y complejas, importar imágenes (se admiten todos los formatos principales, incluidos BMP, GIF, JPG, PNG, WMF, EMF y más), crear comentarios, crear objetos y controles de dibujo, y realizar una variedad de otras tareas.

Aspose.Cells for Java también admite complementos, VBA y macros.

Abrir y Guardar

Además de admitir funciones comunes como crear o leer archivos nativos de Excel, Aspose.Cells for Java también ofrece muchas funciones valiosas, como guardar y abrir archivos de Excel (Excel 97 - Excel 2007) desde y hacia flujos, importar y exportar datos desde un ResultSet y un array.

Aspose.Cells puede importar gráficos, rangos con nombre, encabezados y pies de página con todos los atributos que proporciona Microsoft Excel, insertar hipervínculos e imágenes, e importar fórmulas a partir de una hoja de cálculo de diseño.

Formateo

El formateo de datos de hojas de cálculo es importante porque puede cambiar el significado de tus datos. Si planeas imprimir una hoja de cálculo, enviarla por correo electrónico a clientes o mostrársela a tu jefe, debes pensar si está formateada de manera amigable para el espectador. El uso cuidadoso del color, el sombreado, los bordes, las fuentes, el formato numérico, la alineación, la indentación y la orientación puede marcar la diferencia entre un revoltijo de datos y una hoja de cálculo que sea fácil de trabajar y comprender.

Aspose.Cells for Java proporciona la flexibilidad para dibujar bordes alrededor de celdas y rangos de celdas fácilmente. Además, el AIP puede aplicar configuraciones de fuente (familia y tipo, estilo, tamaño, color y alineación) y sombrear celdas con patrones de fondo. La API es lo suficientemente eficiente como para que puedas formatear una fila o columna completa, establecer alineaciones, ajustar y rotar el texto en celdas.

Aspose.Cells for Java admite todo tipo de formatos numéricos, incluyendo formato general, números en notaciones decimales, símbolos de moneda, porcentajes, formato científico, valores de fecha/hora e incluso formatos de números personalizados.

Aspose.Cells permite a los desarrolladores ajustar automáticamente filas y columnas en una única acción, así como configurar todo tipo de opciones de configuración de página en una API conveniente: márgenes superior, izquierdo, inferior, derecho, de encabezado y pie de página, orientación - vertical u horizontal -, escalado, tamaño de papel, área de impresión, filas y columnas repetidas y muchos más.

Características Únicas

También existen varias características únicas que los desarrolladores solo encontrarán en Aspose.Cells for Java, por ejemplo, soporte para una amplia gama de formatos, incluidos XLS, XLT, XLSX, CSV, SpreadsheetML, delimitado por tabuladores, TXT, XML y HTML.

La API también permite a los desarrolladores agregar una copia de una hoja de cálculo existente (con contenido completo, imágenes y gráficos) a un archivo, establecer un fondo degradado para gráficos a través de la API, crear comentarios, establecer la configuración de localización y región, filtros automáticos y saltos de página, establecer fórmulas complejas, formato condicional, todos los tipos de opciones de protección introducidas en Microsoft Excel XP o posterior y manipular rangos con nombre.

Además, Aspose.Cells agrega un API de gráficos personalizado y un motor eficiente de cálculo de fórmulas.

Pruebe Aspose.Cells for Java

Aspose.Cells for Java tiene una lista extensa de características. Para obtener más información sobre las características y la Guía del Programador, consulta la documentación y demos en línea.

Por favor, pruebe el componente para ver la diferencia entre éste y sus competidores. La versión de evaluación es completamente gratuita y no tiene limitación de tiempo. Descarga la versión de evaluación gratuitamente.

Otras APIs

JExcelAPI

JExcelAPI es una API de Java utilizada para leer, escribir y modificar hojas de cálculo de Excel. Es una API de Java de código abierto que permite a los desarrolladores de Java leer hojas de cálculo de Excel y generarlas dinámicamente.

En el momento de escribir esto, cuenta con un conjunto limitado de funciones. Admite: leer y escribir archivos nativos de Microsoft Excel (Excel 97-2003) en formato de archivo XLS solamente. Tiene un soporte limitado para cálculo de fórmulas. Puede manipular fuentes, admitir formato de número y fecha, modificar hojas de cálculo existentes, configuraciones de localización y preservar gráficos (pero no permite a los desarrolladores crear o manipular gráficos), insertar imágenes, entre otros.

Soporte de Gráficos Limitado

JExcelAPI tiene un soporte limitado para gráficos: No admite la creación ni la manipulación de gráficos. Al copiar una hoja de cálculo que contenga un gráfico, el gráfico se escribe a la hoja de cálculo generada (si la hoja que contiene el gráfico también contiene otros datos además del gráfico). Toda la información de la imagen se conserva al copiar archivos de Excel; sin embargo, al agregar una imagen a una hoja de cálculo, solo se admiten imágenes en formato PNG.

No se Pueden Copiar Hojas de Cálculo

No hay una API para copiar hojas de cálculo directamente dentro o entre libros de trabajo. Esta tarea se puede realizar de una manera indirecta, pero requiere cierto trabajo. Por ejemplo, usando bucles, copiar celda por celda con el método WritableCell.copyTo(), que producirá una copia profunda. Sin embargo, el formato solo se copia superficialmente, por lo que deberás obtener el formato de celda y usar el constructor de copia de eso, y luego llamar a WritableCell.setCellFormat() en la celda que acabas de copiar. Es un trabajo bastante grande.

Sin Optimización

Otra limitación es que JExcelAPI no realiza optimizaciones para reducir el tamaño del archivo, por lo que no deberíamos sorprendernos al ver un archivo de salida generado por el componente con un tamaño enorme en MB.

JExcelAPI no tiene una API para ajustar automáticamente filas o columnas. Necesitarás escribir código que escanee las celdas en cada columna, calcule la longitud máxima y luego haga llamadas a WritableSheet.setColumnView() y WritableSheet.setRowView() en consecuencia.

Funcionalidades Faltantes

También hay algunas dificultades adicionales: la API no admite tablas dinámicas ni listas desplegables. Tiene opciones limitadas de validación para establecer en las celdas. La configuración de página y las opciones de impresión no están completamente soportadas, por ejemplo, la repetición de filas y columnas y no todos los tipos de opciones de protección (incluyendo hojas protegidas con contraseña) están soportadas. Tampoco admite ordenar datos, filtrado automático de datos, formato condicional, objetos de dibujo, controles y muchas otras características valiosas.

POI-HSSF

HSSF es el componente de POI que lee y escribe hojas de cálculo de Excel. Tiene un conjunto extendido de características en comparación con JExcelAPI, incluyendo la lectura y escritura de archivos nativos de Microsoft Excel (formato de archivo Excel97-2003 - XLSX OOXML no está soportado aún), formateo de celdas (formatos de números, fuentes, colores, bordes, alineaciones, etc.), combinación de celdas, opciones de configuración de página, importar imágenes, formas, rangos con nombre, crear comentarios, encabezados y pies de página, hipervínculos, ajuste automático de filas y columnas, etc.

Soporte de Gráficos Limitado

Hay algunas limitaciones conocidas para la API POI-HSSF. Por ejemplo, actualmente no puedes crear gráficos. Sin embargo, puedes crear un gráfico en Excel, modificar los valores de datos del gráfico usando HSSF y escribir una nueva hoja de cálculo. Otra limitación es el soporte de tablas dinámicas, no es posible generar tablas dinámicas.

Cálculo de Fórmulas

Aunque la clase org.apache.poi.hssf.usermodel de POI admite fórmulas, carece de un motor de cálculo de fórmulas completo. Admite fórmulas que contienen referencias de celdas, literales de cadena, enteros y punto flotante, referencias relativas o absolutas, operadores aritméticos y lógicos, pero no admite fórmulas matriciales, operadores unarios y referencias 3D.

Funcionalidades Faltantes

La API HSSF tampoco admite tablas dinámicas. Tiene opciones limitadas de validación de datos para establecer en las celdas. Tampoco admite características como ordenar datos y filtrar automáticamente datos.

Comparación de Funcionalidades

La siguiente tabla intenta proporcionar una visión general de las características de Aspose.Cells for Java en comparación con los componentes de código abierto (mencionados anteriormente), aunque no pretende cubrir todas las características proporcionadas por los productos involucrados. Esto es solo un esquema que se tomó en un momento específico y es bastante posible que las características faltantes puedan ser compatibles cuando estés leyendo el documento.

Característica JExcelAPI HSSF de POI Aspose.Cells for Java
Formatos de archivo
Leer y escribir formatos de archivo (XLS, XLT, XLSX, CSV, SpreadsheetML, Delimitado por pestañas, TXT, XML y HTML) Parcialmente Compatible Parcialmente Compatible Compatible
Abrir archivo y guardar en un flujo Compatible
Convertir archivo de Excel a documento PDF Compatible
Archivos protegidos por contraseña Compatible Compatible
Manipular el contenido de la hoja de cálculo
Modificar las propiedades del documento de archivos de Excel Compatible
Exportar datos de hoja de trabajo a una matriz Compatible
Importar datos de un ResultSet Compatible
Importar datos de una matriz, colección Compatible
Agregar una copia de la hoja de trabajo existente (todo el contenido incluyendo imágenes y gráficos) Parcialmente Compatible Parcialmente Compatible Compatible
Importar imágenes Compatible
Importar gráficos Compatible
Establecer un fondo degradado para gráficos usando la API Compatible
Proteger la hoja de trabajo, incluyendo contenido, objetos y escenarios Parcialmente Compatible Compatible Compatible
Crear filtros automáticos usando la API Compatible
Funciones de configuración de página (márgenes superior, izquierdo, inferior, derecho, encabezado y pie de página, orientación - vertical u horizontal, escala, tamaño de papel, área de impresión, filas y columnas repetidas) Parcialmente Compatible Compatible Compatible
Saltos de página horizontal y vertical a través de la API Compatible Compatible Compatible
Copiar y mover hojas de cálculo dentro y entre libros de trabajo Compatible Compatible
Inserción y eliminación de filas y columnas Compatible Compatible
Ajuste automático de filas y columnas Compatible Compatible
Copiar filas y columnas Compatible
Clasificación de datos Compatible
Rastrear precedentes y dependientes Compatible
Autofiltrado Compatible
Validación de datos (todos los tipos) Parcialmente compatible Parcialmente compatible Compatible
Importar fórmulas desde hoja de cálculo de diseñador Parcialmente compatible Parcialmente compatible Compatible
Establecer fórmulas complejas a través de la API Compatible
Formato condicional Compatible Compatible
Activación de hojas y hacer una celda activa en el libro de trabajo. Compatible Compatible Compatible
Características Avanzadas
Marcadores inteligentes Compatible
Crear gráficos estándar (columna, barra, línea, pastel, dispersión, área, dona, radar, superficie 3D, burbuja, acciones, cilindro, cono, pirámide, etc.) Compatible
API de gráficos personalizados Compatible
Configuración de propiedades del documento Compatible
Opciones de protección avanzada de Excel XP Compatible
Complementos, VBA, macros Compatible
Manipular rangos nombrados Compatible Compatible Compatible
Tablas dinámicas Compatible
Crear objetos de dibujo comunes, formas y controles Compatible Compatible
Insertar controles en gráficos Compatible
Motor de cálculo de fórmulas Compatible
API de búsqueda Compatible Compatible Compatible