Introducción
La clase Cell es la unidad fundamental en Aspose.Cells FOSS for Java. Almacena valores tipados, expone su tipo en tiempo de ejecución a través del enum CellValueType, persiste cadenas de fórmulas para que Excel las evalúe y proporciona una representación de cadena uniforme mediante getStringValue(). Esta publicación examina la API central de celdas en detalle con ejemplos verificados.
Todos los ejemplos de código a continuación utilizan la dependencia Maven:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Core Cell API
Almacenando valores tipados con putValue()
Cell.putValue() acepta seis tipos de Java: String, int, double, boolean,
LocalDateTime y Object. Cada llamada establece el valor interno de la celda y determina
el CellValueType devuelto 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");
}
Celdas en blanco devuelven CellValueType.BLANK de getType(). Los valores enteros almacenados conputValue(int) hacen un viaje de ida y vuelta a través de la serialización XLSX sin ganar un punto decimal —getStringValue() devuelve "123" no "123.0".
Inspección de valores en tiempo de ejecución
cell.getValue() devuelve el valor almacenado sin procesar como Object. cell.getStringValue() devuelve una representación de cadena independiente de la configuración regional adecuada para el procesamiento posterior o la visualización. Realizar una bifurcación en CellValueType es el patrón recomendado para la extracción de valores con seguridad de tipos:
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");
}
Almacenamiento de fórmulas
Las cadenas de fórmula se almacenan con cell.setFormula(). La cadena de fórmula almacenada comienza
con = y sigue la sintaxis estándar de fórmulas de Excel. El método getType() devuelve
CellValueType.FORMULA para celdas de fórmula. Aspose.Cells FOSS for Java almacena y
realiza round‑trips de fórmulas en XLSX; la fórmula se recalcula por Excel al 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 Fidelidad de ida y vuelta
Todos los valores tipados se conservan a través de la serialización y recarga de XLSX. Cargar un
archivo .xlsx existente usa new Workbook(path) o new Workbook(path, options) con
LoadOptions para habilitar el modo de reparación. Después de la recarga, getType() y getStringValue()
devuelven los mismos valores que en el momento de escritura.
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 compatibles
| Formato | Extensión | Leer | Escribir |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Código abierto y licencias
Aspose.Cells FOSS for Java se publica bajo la licencia MIT. Usted es libre de usar, modificar y distribuirlo en proyectos personales, de código abierto y comerciales sin restricción. El código fuente está disponible en github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.