Introducere
Clasa Cell este unitatea fundamentală în Aspose.Cells FOSS pentru Java. Aceasta stochează valori tipizate, expune tipul lor la runtime prin enumul CellValueType, păstrează șirurile de formule pentru evaluarea în Excel și furnizează o reprezentare uniformă sub formă de șir prin getStringValue(). Acest articol examinează API‑ul de bază al celulei în detaliu, cu exemple verificate.
Toate exemplele de cod de mai jos folosesc dependența Maven:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Core Cell API
Stocarea valorilor tipizate cu putValue()
Cell.putValue() acceptă șase tipuri Java: String, int, double, boolean,
LocalDateTime și Object. Fiecare apel setează valoarea internă a celulei și determină
CellValueType returnat de 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");
}
Celulele goale returnează CellValueType.BLANK din getType(). Valorile întregi stocate cu
putValue(int) round-trip prin serializarea XLSX fără a obține un punct zecimal —
getStringValue() returnează "123", nu "123.0".
Inspectarea valorilor în timpul execuției
cell.getValue() returnează valoarea brută stocată ca Object. cell.getStringValue() returnează o reprezentare șir de caractere independentă de setarea regională, potrivită pentru procesarea ulterioară sau afișare. Ramificarea pe CellValueType este modelul recomandat pentru extragerea tipului în mod sigur:
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");
}
Stocare formulă
Șirurile de formule sunt stocate cu cell.setFormula(). Șirul de formulă stocat începe
cu = și urmează sintaxa standard a formulelor Excel. Metoda getType() returneazăCellValueType.FORMULA pentru celulele cu formulă. Aspose.Cells FOSS pentru Java stochează și round-trips formule în XLSX; formula este recalculată de Excel la deschidere.
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 Fidelitate round‑trip
Toate valorile tipizate sunt păstrate în timpul serializării XLSX și a reîncărcării. Încărcarea unui
fișier .xlsx existent folosește new Workbook(path) sau new Workbook(path, options) cu
LoadOptions pentru a activa modul de reparare. După reîncărcare, getType() și getStringValue()
returnează aceleași valori ca la momentul scrierii.
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");
}
Formate acceptate
| Format | Extensie | Citire | Scriere |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Open Source și Licențiere
Aspose.Cells FOSS pentru Java este lansat sub licența MIT. Sunteți liber să îl utilizați, modificați și distribuiți în proiecte personale, open-source și comerciale fără restricții. Codul sursă este disponibil la github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.