Introducció
La classe Cell és la unitat fonamental a Aspose.Cells FOSS per a Java. Emmagatzema valors tipats, exposa el seu tipus d’execució a través de l’enumeració CellValueType, conserva les cadenes de fórmula perquè Excel les avaluï i proporciona una representació de cadena uniforme mitjançant getStringValue(). Aquesta publicació examina l’API central de cel·les en detall amb exemples verificats.
Tots els exemples de codi següents utilitzen la dependència Maven:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
API Core Cell
Emmagatzemar valors tipats amb putValue()
Cell.putValue() accepta sis tipus Java: String, int, double, boolean,
LocalDateTime i Object. Cada crida estableix el valor intern de la cel·la i determina
el CellValueType retornat per 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");
}
Les cel·les buides retornen CellValueType.BLANK de getType(). Els valors enters emmagatzemats amb
putValue(int) viatge d’anada i tornada a través de la serialització XLSX sense adquirir un punt decimal —
getStringValue() retorna "123" i no "123.0".
Inspecció de valors en temps d’execució
cell.getValue() retorna el valor emmagatzemat en brut com a Object. cell.getStringValue() retorna una representació de cadena independent de la configuració regional adequada per al processament o visualització posterior. Fer una bifurcació sobre CellValueType és el patró recomanat per a l’extracció de valors amb seguretat de tipus:
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");
}
Emmagatzematge de fórmules
Les cadenes de fórmula s’emmagatzemen amb cell.setFormula(). La cadena de fórmula emmagatzemada comença amb = i segueix la sintaxi estàndard de fórmules d’Excel. El mètode getType() retorna CellValueType.FORMULA per a cel·les de fórmula. Aspose.Cells FOSS for Java emmagatzema i round‑trips les fórmules en XLSX; la fórmula es recalcula per Excel en obrir.
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 Fidelitat de viatge d’anada i tornada
Tots els valors tipats es conserven durant la serialització i recàrrega d’XLSX. Carregant un
fitxer existent .xlsx utilitza new Workbook(path) o new Workbook(path, options) ambLoadOptions per habilitar el mode de reparació. Després de la recàrrega, getType() i getStringValue()
tornen els mateixos valors que en el moment d’escriptura.
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");
}
Formats compatibles
| Format | Extensió | Lectura | Escriptura |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Codi obert i llicenciament
Aspose.Cells FOSS for Java es publica sota la llicència MIT. Ets lliure d’utilitzar, modificar i distribuir-lo en projectes personals, de codi obert i comercials sense restriccions. El codi font està disponible a github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.