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 con
putValue(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

FormatoExtensiónLeerEscribir
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.


Comenzando