Introducción

Aspose.Cells FOSS for Java es una biblioteca Java 17 de código abierto que permite a los desarrolladores
crear, cargar, modificar y guardar libros de Excel .xlsx completamente en la JVM — con
sin instalación de Microsoft Office, sin bibliotecas nativas y sin dependencia comercial del tiempo de ejecución de Aspose
dependencia. La API pública se encuentra bajo el paquete com.aspose.cells_foss y está
publicada bajo la licencia MIT, lo que la hace adecuada para proyectos personales, de código abierto y
proyectos comerciales por igual.

La biblioteca se entrega como un artefacto Maven estándar y cubre el modelo de objetos de hoja de cálculo OOXML central: libros de trabajo, hojas de cálculo, celdas, estilos y colecciones. Está construida con Maven 3.9+ y tiene como objetivo Java 17+, integrándose de forma natural en cualquier canal de compilación Java moderno.

Agrega la dependencia a tu pom.xml y estarás listo para generar o procesar libros de Excel desde un servlet, un trabajo por lotes, una función Lambda o cualquier otro contexto del lado del servidor Java.


Características clave

Gestión de libros de trabajo y hojas de cálculo

La clase Workbook es el punto de entrada para todas las operaciones de hoja de cálculo. Implementa AutoCloseable para integrarse limpiamente con el patrón try-with-resources. Puedes crear nuevos libros de trabajo, cargar archivos .xlsx existentes, agregar y eliminar hojas de cálculo, renombrar hojas con setName(), establecer la hoja activa y controlar la visibilidad de las pestañas.

import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import com.aspose.cells_foss.WorksheetCollection;

try (Workbook workbook = new Workbook()) {
    WorksheetCollection sheets = workbook.getWorksheets();
    Worksheet sheet = sheets.get(0);
    sheet.setName("Sales");
    workbook.save("sales.xlsx");
}

Valores de celdas y fórmulas

La clase Cell admite el almacenamiento de valores tipados mediante putValue() para cadenas, enteros, dobles, booleanos y valores LocalDateTime. Las cadenas de fórmula se almacenan con setFormula() y serán recalculadas por Excel al abrirse. El tipo de valor se expone a través de CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME o FORMULA.

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(12500.75);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    workbook.save("values.xlsx");
}

Formato de celdas y estilos

El formato se aplica a través de la clase Style, recuperada de cell.getStyle() y escrita de nuevo con cell.setStyle(). Puedes configurar negrita y color en el Font, aplicar HorizontalAlignment y establecer cadenas de formato numérico personalizadas mediante style.setCustom(). La altura de fila y el ancho de columna se controlan a través de getRows().get(n).setHeight() y getColumns().get(n).setWidth().

import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell cell = sheet.getCells().get("B1");
    cell.putValue(9999.5);
    Style style = cell.getStyle();
    style.getFont().setBold(true);
    style.setCustom("#,##0.00");
    cell.setStyle(style);
    workbook.save("styled.xlsx");
}

Validación de datos y formato condicional

Las reglas de validación de datos se añaden a través de sheet.getValidations().add(). Cada objeto Validation contiene un ValidationType (p. ej., WHOLE_NUMBER), un OperatorType (p. ej., BETWEEN) y cadenas de fórmula para los límites. El formato condicional se añade a través de sheet.getConditionalFormattings().add(), que devuelve un FormatConditionCollection donde especificas rangos de celdas y condiciones.

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
    Validation validation = sheet.getValidations().get(vi);
    validation.setType(ValidationType.WHOLE_NUMBER);
    validation.setOperator(OperatorType.BETWEEN);
    validation.setFormula1("1");
    validation.setFormula2("100");
    workbook.save("validated.xlsx");
}

AutoFiltros y Configuración de página

Los AutoFilters se configuran llamando a ws.getAutoFilter().setRange() con una cadena de rango en notación A1.
El objeto PageSetup controla el tamaño del papel, la orientación y la configuración de ajuste a la página para la salida lista para imprimir.
La protección de la hoja de cálculo se aplica mediante protect() con un WorksheetProtectionModel.


Inicio rápido

Agrega la dependencia de Maven a tu pom.xml:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Cree un libro de trabajo, rellene celdas, aplique formato y guarde:

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

public class QuickStart {
    public static void main(String[] args) {
        try (Workbook workbook = new Workbook()) {
            Worksheet sheet = workbook.getWorksheets().get(0);
            sheet.setName("Report");

            sheet.getCells().get("A1").putValue("Revenue");
            Cell cell = sheet.getCells().get("B1");
            cell.putValue(12500.75);

            Style style = cell.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            cell.setStyle(style);

            sheet.getCells().getRows().get(0).setHeight(22.0);
            sheet.getCells().getColumns().get(1).setWidth(14.5);

            workbook.save("report.xlsx");
        }
    }
}

Formatos compatibles

FormatoExtensiónLeerEscribir
Excel Open XML.xlsx

Guardar está actualmente limitado a .xlsx. La biblioteca almacena y transporta fórmulas, pero no es un motor de cálculo de hojas de cálculo completo.


Código abierto y licencias

Aspose.Cells FOSS for Java se publica bajo la licencia MIT. Usted es libre de usar, modificar y distribuirlo en proyectos personales, de código abierto y comerciales sin restricción. El código fuente está disponible en github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Comenzando