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 implementaAutoCloseable, 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 CellValueType — STRING, 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
| Formato | Extensão | Ler | Gravar |
|---|---|---|---|
| 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.