Introdução
Aspose.Cells FOSS for Java fornece um conjunto abrangente de recursos de planilha para aplicações Java 17. Lançada sob a licença MIT e distribuída como um artefato Maven padrão, a biblioteca cobre tudo, desde a criação básica de pastas de trabalho, passando por valores de célula tipados, formatação avançada, validação de dados e AutoFilter — tudo sem dependência do Microsoft Office.
Esta postagem percorre as principais áreas de recursos com exemplos de código focados extraídos de
a superfície de API verificada. Todos os nomes de classes e métodos mostrados abaixo existem na biblioteca
e estão disponíveis na versão 1.0.0.
Recursos Principais
Gerenciamento de Pastas de Trabalho e Planilhas
A classe Workbook implementa AutoCloseable para que se integre perfeitamente ao
padrão Java try-with-resources. Você pode criar uma pasta de trabalho em branco, carregar um
arquivo .xlsx existente, renomear planilhas, adicionar ou remover folhas, definir a folha ativa e
controlar a visibilidade das abas.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Q1 Report");
workbook.getWorksheets().addSheet("Summary");
workbook.save("report.xlsx");
}
Valores de Células Tipados e Fórmulas
A classe Cell aceita valores tipados via putValue() para String, int, double,
boolean e LocalDateTime. O método getType() retorna um valor enum CellValueType —
STRING, NUMBER, BOOLEAN, DATE_TIME ou FORMULA — facilitando a ramificação
com base no tipo de valor sem analisar strings. As strings de fórmula são armazenadas com
setFormula() e serão recalculadas pelo Excel ao abrir.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
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(42500.00);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
// Check type
assert b1.getType() == CellValueType.NUMBER;
assert c1.getType() == CellValueType.FORMULA;
workbook.save("values.xlsx");
}
Formatação de Células e Estilos
Formatação é aplicada através do objeto Style recuperado de cell.getStyle() e escrito de volta com cell.setStyle().
O sub‑objeto Font expõe setBold() e setColor().HorizontalAlignment controla o alinhamento de texto — LEFT, CENTER ou RIGHT.
Formatos numéricos personalizados usam strings de formato do Excel via style.setCustom().
A altura da linha e a largura da coluna são ajustadas através de getRows().get(n).setHeight() e getColumns().get(n).setWidth().
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
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.50);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(24.0);
sheet.getCells().getColumns().get(1).setWidth(16.0);
workbook.save("styled.xlsx");
}
Validação de Dados
Regras de validação de dados são adicionadas através de sheet.getValidations().add(). Cada
Validation objeto recebe um ValidationType (por exemplo, WHOLE_NUMBER, DECIMAL, LIST)
e um OperatorType (por exemplo, BETWEEN, GREATER_THAN). Os limites de fórmula são armazenados como
strings via setFormula1() e setFormula2().
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
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");
}
AutoFilter
AutoFilters permitem que os usuários finais filtrem dados no Excel de forma interativa sem nenhuma configuração adicional.
Chame ws.getAutoFilter().setRange() com um intervalo em notação A1 para
habilitar a linha de cabeçalho do filtro. Colunas de filtro adicionais e critérios personalizados podem ser
definidos através de FilterColumn e AutoFilterCustomFilter.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.getCells().get("A1").putValue("Product");
sheet.getCells().get("B1").putValue("Qty");
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("filtered.xlsx");
}
Configuração de Página e Proteção da Planilha
A classe PageSetup controla o tamanho do papel, a orientação da página 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, permitindo que células específicas permaneçam editáveis enquanto o restante é bloqueado. Os hiperlinks são gerenciados através de HyperlinkCollection.
Início Rápido
Adicione a dependência ao seu pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Crie uma pasta de trabalho com todos os recursos principais em menos de 20 linhas:
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("Sales");
sheet.getCells().get("A1").putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Style style = b1.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
b1.setStyle(style);
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("sales.xlsx");
}
}
}
Formatos suportados
| Formato | Extensão | Ler | Gravar |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Salvar está atualmente limitado a .xlsx. A biblioteca armazena e faz round‑trip de fórmulas, mas não funciona como 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ê é livre 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.