Introduktion

Klassen Cell är den grundläggande enheten i Aspose.Cells FOSS för Java. Den lagrar typade värden, exponerar deras körtidstyp via CellValueType‑enumet, sparar formelsträngar för Excel att utvärdera och tillhandahåller en enhetlig strängrepresentation via getStringValue(). Detta inlägg granskar den centrala cell‑API:n i detalj med verifierade exempel.

Alla kodexempel nedan använder Maven‑beroendet:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Core Cell API

Lagring av typade värden med putValue()

Cell.putValue() accepterar sex Java-typer: String, int, double, boolean, LocalDateTime och Object. Varje anrop sätter cellens interna värde och bestämmer CellValueType som returneras av 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");
}

Tomma celler returnerar CellValueType.BLANK från getType(). Heltalsvärden lagrade med putValue(int) runda resan genom XLSX-serialisering utan att få en decimalpunkt — getStringValue() returnerar "123" inte "123.0".

Inspektera värden vid körning

cell.getValue() returnerar det råa lagrade värdet som Object. cell.getStringValue()
returnerar en localesoberoende strängrepresentation som är lämplig för efterföljande bearbetning
eller visning. Grenning på CellValueType är det rekommenderade mönstret för typ‑säker
värdeextraktion:

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");
}

Formellagring

Formelsträngar lagras med cell.setFormula(). Den lagrade formelsträngen börjar med = och följer standard Excel‑formelsyntax. Metoden getType() returnerar CellValueType.FORMULA för formelceller. Aspose.Cells FOSS for Java lagrar och rundresar formler i XLSX; formeln beräknas om av Excel vid öppning.

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 Rundresans trohet

Alla typade värden bevaras över XLSX-serialisering och omladdning. Att läsa in en befintlig .xlsx‑fil använder new Workbook(path) eller new Workbook(path, options) med LoadOptions för att aktivera reparationsläge. Efter omladdning, getType() och getStringValue() returnerar samma värden som vid skrivtillfället.

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");
}

Stödda format

FormatFiländelseLäsSkriv
Excel Open XML.xlsx

Öppen källkod & licensiering

Aspose.Cells FOSS för Java är släppt under MIT-licensen. Du får fritt använda, modifiera och distribuera den i personliga, öppen källkod och kommersiella projekt utan restriktioner. Källkoden finns tillgänglig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Komma igång