Introduksjon
Cell-klassen er den grunnleggende enheten i Aspose.Cells FOSS for Java. Den lagrer typede verdier, eksponerer deres kjøretidstype gjennom CellValueType-enumet, lagrer formelstrenger for Excel å evaluere, og gir en ensartet strengrepresentasjon via getStringValue(). Dette innlegget undersøker kjerne‑celle‑API‑et i detalj med verifiserte eksempler.
Alle kodeeksempler nedenfor bruker Maven‑avhengigheten:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Kjernecelle-API
Lagring av typede verdier med putValue()
Cell.putValue() godtar seks Java-typer: String, int, double, boolean,
LocalDateTime og Object. Hvert kall setter cellens interne verdi og bestemmer
CellValueType som returneres 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");
}
Tomme celler returnerer CellValueType.BLANK fra getType(). Hele tall lagret med
putValue(int) går gjennom en rundtur i XLSX-serialisering uten å få et desimaltegn —
getStringValue() returnerer "123", ikke "123.0".
Inspeksjon av verdier ved kjøringstid
cell.getValue() returnerer den rå lagrede verdien som Object. cell.getStringValue() returnerer en lokaluavhengig strengrepresentasjon som er egnet for videre behandling eller visning. Å forgreine på CellValueType er det anbefalte mønsteret for type‑sikker verdiuttrekking:
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
Formelstrenger lagres med cell.setFormula(). Den lagrede formelstrengen begynner med = og følger standard Excel‑formelsyntaks. getType()‑metoden returnerer CellValueType.FORMULA for formelceller. Aspose.Cells FOSS for Java lagrer og round‑trips formler i XLSX; formelen blir beregnet på nytt av Excel ved åpning.
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 Rundtur‑nøyaktighet
Alle skrevne verdier blir bevart gjennom XLSX-serialisering og gjenlasting.
Innlasting av en
eksisterende .xlsx-fil bruker new Workbook(path) eller new Workbook(path, options) medLoadOptions for å aktivere reparasjonsmodus. Etter gjenlasting, getType() og getStringValue()
returnerer de samme verdiene som ved skrivetidspunktet.
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øttede formater
| Format | Filtype | Lese | Skrive |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Open Source og lisensiering
Aspose.Cells FOSS for Java er utgitt under MIT‑lisensen. Du er fri til å bruke, endre, og distribuere den i personlige, åpen kildekode‑ og kommersielle prosjekter uten restriksjon. Kildekoden er tilgjengelig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.