Introdução

Aspose.Cells FOSS for Java é uma biblioteca Java 17 de código aberto que permite aos desenvolvedores
criar, carregar, modificar e salvar pastas de trabalho do Excel .xlsx totalmente na JVM — sem
instalação do Microsoft Office, sem bibliotecas nativas e sem dependência comercial do runtime Aspose.
A API pública está no pacote com.aspose.cells_foss e é
lançada sob a licença MIT, tornando-a adequada para projetos pessoais, de código aberto e
comerciais também.

A biblioteca é distribuída como um artefato Maven padrão e cobre o modelo de objeto de planilha OOXML central: pastas de trabalho, planilhas, células, estilos e coleções. Ela foi construída com Maven 3.9+ e tem como alvo o Java 17+, integrando‑se naturalmente a qualquer pipeline de compilação Java moderno.

Adicione a dependência ao seu pom.xml e você está pronto para gerar ou processar pastas de trabalho do Excel a partir de um servlet, um job em lote, uma função Lambda ou qualquer outro contexto Java do lado do servidor.


Principais Recursos

Gerenciamento de Pasta de Trabalho e Planilha

A classe Workbook é o ponto de entrada para todas as operações de planilha. Ela implementa
AutoCloseable, de modo que se integra perfeitamente ao padrão try-with-resources. Você pode
criar novas pastas de trabalho, carregar arquivos .xlsx existentes, adicionar e remover planilhas, renomear
folhas com setName(), definir a planilha ativa e controlar a visibilidade das abas.

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 Células e Fórmulas

A classe Cell suporta armazenamento de valores tipados via putValue() para strings, inteiros, double, booleanos e valores LocalDateTime. As strings de fórmula são armazenadas com setFormula() e serão recalculadas pelo Excel ao abrir. O tipo de valor é exposto através de CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME ou 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");
}

Formatação de Células e Estilos

A formatação é aplicada através da classe Style, recuperada de cell.getStyle() e escrita de volta com cell.setStyle(). Você pode configurar negrito e cor no Font, aplicar HorizontalAlignment e definir strings de formato numérico personalizado via style.setCustom(). A altura da linha e a largura da coluna são controladas através de getRows().get(n).setHeight() e 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");
}

Validação de Dados e Formatação Condicional

As regras de validação de dados são adicionadas através de sheet.getValidations().add(). Cada objeto Validation contém um ValidationType (por exemplo, WHOLE_NUMBER), um OperatorType (por exemplo, BETWEEN) e strings de fórmula para os limites. A formatação condicional é adicionada através de sheet.getConditionalFormattings().add(), que retorna um FormatConditionCollection onde você especifica intervalos de células e condições.

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");
}

AutoFilters e Configuração de Página

Os AutoFilters são configurados chamando ws.getAutoFilter().setRange() com uma string de intervalo em notação A1. O objeto PageSetup controla o tamanho do papel, a orientação e as configurações de ajuste à página para saída pronta para impressão. A proteção da planilha é aplicada através de protect() com um WorksheetProtectionModel.


Início Rápido

Adicione a dependência Maven ao seu pom.xml:

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

Crie uma pasta de trabalho, preencha células, aplique formatação e salve:

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 suportados

FormatoExtensãoLerGravar
Excel Open XML.xlsx

Salvar está atualmente limitado a .xlsx. A biblioteca armazena e faz round-trips de fórmulas, mas não é um motor completo de cálculo de planilhas.


Código Aberto e Licenciamento

Aspose.Cells FOSS for Java é lançado sob a licença MIT. Você tem liberdade para usar, modificar e distribuí‑lo em projetos pessoais, de código aberto e comerciais sem restrição. O código‑fonte está disponível em github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Começando