Bevezetés
A Cell osztály az alapvető egység az Aspose.Cells FOSS for Java-ban. Tárolja a típusos értékeket, a futásidejű típusukat a CellValueType enumeráción keresztül teszi elérhetővé, megőrzi a képlet karakterláncokat, amelyeket az Excel kiértékel, és egységes karakterlánc ábrázolást biztosít a getStringValue() segítségével. Ez a bejegyzés részletesen vizsgálja az alap cella API-t ellenőrzött példákkal.
Az alábbi összes kódrészlet a Maven függőséget használja:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Core Cell API
Típusos értékek tárolása a putValue() segítségével
Cell.putValue() hat Java típust fogad el: String, int, double, boolean,
LocalDateTime és Object. Minden hívás beállítja a cella belső értékét, és meghatározza
a CellValueType értékét, amelyet a cell.getType() ad vissza.
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");
}
Az üres cellák CellValueType.BLANK-t adnak vissza a getType()-tól. Az egész számok tárolvaputValue(int) körúton keresztül az XLSX sorosítás során nem kapnak tizedes pontot — getStringValue() "123"-t ad vissza, nem "123.0"-t.
Értékek ellenőrzése futásidőben
cell.getValue() visszaadja a nyers tárolt értéket Object formájában. cell.getStringValue() egy helyfüggetlen karakterlánc ábrázolást ad vissza, amely alkalmas a további feldolgozásra vagy megjelenítésre. Az CellValueType alapján történő elágazás a javasolt minta a típusbiztos értékkinyeréshez:
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");
}
Képlet tároló
A képlet karakterláncok a cell.setFormula() segítségével tárolódnak. A tárolt képlet karakterlánc a=-vel kezdődik, és a szabványos Excel képletszintaxist követi. A getType() metódusCellValueType.FORMULA-t ad vissza képletcellák esetén. Az Aspose.Cells FOSS for Java tárolja és
körkörös átvitelre (round‑trip) képleteket XLSX-ben; a képletet az Excel újraszámolja megnyitáskor.
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 körkörös pontosság
Minden típusú érték megmarad az XLSX sorosítás és újratöltés során. Betöltéskor egy
létező .xlsx fájl használja a new Workbook(path) vagy new Workbook(path, options)-tLoadOptions a javítási mód engedélyezéséhez. Újratöltés után getType() és getStringValue()
ugyanazokat az értékeket adják vissza, mint íráskor.
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");
}
Támogatott formátumok
| Formátum | Kiterjesztés | Olvasás | Írás |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Nyílt forráskód és licencelés
Aspose.Cells FOSS for Java az MIT licenc alatt kerül kiadásra. Szabadon használhatja, módosíthatja, és terjesztheti személyes, nyílt forráskódú és kereskedelmi projektekben korlátozás nélkül. A forráskód elérhető itt github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.