Introdução
A classe Cell é a unidade fundamental no Aspose.Cells FOSS para Java. Ela armazena valores tipados, expõe seu tipo em tempo de execução através do enum CellValueType, persiste strings de fórmula para que o Excel as avalie e fornece uma representação de string uniforme via getStringValue(). Esta postagem examina a API central de células em detalhes com exemplos verificados.
Todos os exemplos de código abaixo usam a dependência Maven:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Core Cell API
Armazenando Valores Tipados com putValue()
Cell.putValue() aceita seis tipos Java: String, int, double, boolean,
LocalDateTime e Object. Cada chamada define o valor interno da célula e determina
o CellValueType retornado por cell.getType().
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import java.time.LocalDateTime;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
assert a1.getType() == CellValueType.STRING;
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.75);
assert b1.getType() == CellValueType.NUMBER;
Cell c1 = sheet.getCells().get("C1");
c1.putValue(true);
assert c1.getType() == CellValueType.BOOLEAN;
Cell d1 = sheet.getCells().get("D1");
d1.putValue(LocalDateTime.of(2026, 4, 27, 9, 0, 0));
assert d1.getType() == CellValueType.DATE_TIME;
workbook.save("typed.xlsx");
}
Células vazias retornam CellValueType.BLANK de getType(). Valores inteiros armazenados com
putValue(int) fazem round-trip através da serialização XLSX sem ganhar ponto decimal —
getStringValue() retorna "123" e não "123.0".
Inspecionando Valores em Tempo de Execução
cell.getValue() retorna o valor bruto armazenado como Object. cell.getStringValue()
retorna uma representação de string locale-independent adequada para processamento downstream
ou exibição. Branching em CellValueType é o padrão recomendado para type-safe
extração de valor:
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);
sheet.getCells().get("A1").putValue("Hello");
sheet.getCells().get("B1").putValue(123);
sheet.getCells().get("C1").putValue(true);
sheet.getCells().get("D1").putValue(12.5d);
sheet.getCells().get("G1").setFormula("=B1*2");
Cell b1 = sheet.getCells().get("B1");
if (b1.getType() == CellValueType.NUMBER) {
System.out.println("Number: " + b1.getStringValue());
}
workbook.save("inspect.xlsx");
}
Armazenamento de Fórmula
Strings de fórmula são armazenadas com cell.setFormula(). A string de fórmula armazenada começa
com = e segue a sintaxe padrão de fórmulas do Excel. O método getType() retorna
CellValueType.FORMULA para células de fórmula. Aspose.Cells FOSS for Java armazena e
round-trips fórmulas em XLSX; a fórmula é recalculada 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 b1 = sheet.getCells().get("B1");
b1.putValue(100.0);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
assert c1.getType() == CellValueType.FORMULA;
workbook.save("formulas.xlsx");
}
XLSX Fidelidade de Ida e Volta
Todos os valores tipados são preservados durante a serialização e recarregamento de XLSX. Carregar um arquivo .xlsx existente usa new Workbook(path) ou new Workbook(path, options) com LoadOptions para habilitar o modo de reparo. Após o recarregamento, getType() e getStringValue() retornam os mesmos valores que no momento da gravação.
import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
LoadOptions options = new LoadOptions();
options.setStrictMode(false);
options.setTryRepairPackage(true);
options.setTryRepairXml(true);
try (Workbook workbook = new Workbook("input.xlsx", options)) {
if (workbook.getLoadDiagnostics().hasRepairs()) {
for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
System.out.println(issue.getMessage());
}
}
Worksheet sheet = workbook.getWorksheets().get(0);
System.out.println(sheet.getCells().get("A1").getStringValue());
workbook.save("output.xlsx");
}
Formatos suportados
| Formato | Extensão | Ler | Gravar |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
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.