Įvadas
Cell klasė yra pagrindinis vienetas Aspose.Cells FOSS for Java. Ji saugo tipizuotas reikšmes, atskleidžia jų vykdymo laiką tipą per CellValueType enum, išsaugo formulės eilutes, kurias Excel gali įvertinti, ir suteikia vienodą eilutės atvaizdavimą per getStringValue(). Šiame įraše išsamiai nagrinėjama pagrindinė ląstelės API su patikrintais pavyzdžiais.
Visi toliau pateikti kodo pavyzdžiai naudoja Maven priklausomybę:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Core Cell API
Tipų reikšmių saugojimas naudojant putValue()
Cell.putValue() priima šešis Java tipus: String, int, double, boolean,
LocalDateTime ir Object. Kiekvienas iškvietimas nustato ląstelės vidinę reikšmę ir nustato
CellValueType, kurį grąžina 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");
}
Tušti langeliai grąžina CellValueType.BLANK iš getType(). Visiškos reikšmės, saugomos su
putValue(int) keliauja per XLSX serializaciją be dešimtainio taško —
getStringValue() grąžina "123", o ne "123.0".
Verčių tikrinimas vykdymo metu
cell.getValue() grąžina neapdorotą saugomą reikšmę kaip Object. cell.getStringValue()
grąžina lokalės nepriklausomą eilutės atvaizdavimą, tinkamą tolimesniam apdorojimui
arba rodymui. Šakavimas pagal CellValueType yra rekomenduojamas šablonas tipų saugiam
reikšmių išgavimui:
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");
}
Formulės saugykla
Formulės eilutės saugomos su cell.setFormula(). Saugojama formulės eilutė prasideda
= ir atitinka standartinę Excel formulės sintaksę. getType() metodas grąžina
CellValueType.FORMULA formulės langeliams. Aspose.Cells FOSS for Java saugo ir
perduoda formules XLSX; formulė perskaičiuojama Excel atidarant.
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 Apkelių tikslumas
Visos įvestos reikšmės išlieka per XLSX serializaciją ir pakartotinį įkėlimą. Įkeliant
esamą .xlsx failą naudojamas new Workbook(path) arba new Workbook(path, options) su
LoadOptions, kad būtų įjungta taisymo veiksena. Po pakartotinio įkėlimo, getType() ir getStringValue()
grąžina tas pačias reikšmes, kaip rašymo metu.
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");
}
Palaikomi formatai
| Formatas | Plėtinys | Skaityti | Rašyti |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Atviro kodo ir licencijavimas
Aspose.Cells FOSS for Java išleidžiamas pagal MIT licenciją. Jūs galite laisvai naudoti, modifikuoti ir platinti jį asmeniniuose, atviro kodo ir komerciniuose projektuose be apribojimų. Šaltinio kodas prieinamas adresu github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.