Įvadas
Aspose.Cells FOSS for Java yra atviro kodo Java 17 biblioteka, kuri leidžia kūrėjams
kurti, įkelti, modifikuoti ir išsaugoti Excel .xlsx darbo knygas visiškai JVM —
be Microsoft Office įdiegimo, be natūralių bibliotekų ir be komercinės Aspose vykdymo laiko priklausomybės. Viešoji API yra com.aspose.cells_foss pakete ir
yra išleista pagal MIT licenciją, todėl ji tinka asmeniniams, atviro kodo ir
komerciniams projektams.
Biblioteka tiekiama kaip standartinis Maven artefaktas ir apima pagrindinį OOXML skaičiuoklių objektų modelį: darbaknygės, darbalapiai, langeliai, stiliai ir kolekcijos. Ji sukurta naudojant Maven 3.9+ ir skirta Java 17+, natūraliai integruojantis į bet kurią modernią Java kūrimo grandinę.
Pridėkite priklausomybę prie savo pom.xml ir būsite pasiruošę generuoti arba apdoroti Excel
knygeles iš servlet, paketinio darbo, Lambda funkcijos arba bet kokio kito Java serverio pusės
konteksto.
Pagrindinės savybės
Darbalapio ir darbalapio lapų valdymas
Workbook klasė yra įėjimo taškas visoms skaičiuoklių operacijoms. Ji įgyvendina
AutoCloseable, todėl sklandžiai integruojasi su try-with-resources šablonu. Galite
kurti naujas darbaknyges, įkelti esamus .xlsx failus, pridėti ir pašalinti darbalapius, pervadinti
lapus naudojant setName(), nustatyti aktyvų lapą ir valdyti skirtukų matomumą.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import com.aspose.cells_foss.WorksheetCollection;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
sheet.setName("Sales");
workbook.save("sales.xlsx");
}
Ląstelių reikšmės ir formulės
Cell klasė palaiko tipizuotą reikšmių saugojimą per putValue(), skirtą eilutėms, sveikiesiems,
dvigubiems, loginėms reikšmėms ir LocalDateTime reikšmėms. Formulės eilutės saugomos su
setFormula() ir bus perskaičiuotos Excel atidarant. Reikšmės tipas atskleidžiamas per
CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME arba FORMULA.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(12500.75);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
workbook.save("values.xlsx");
}
Ląstelių formatavimas ir stiliai
Formatavimas taikomas per Style klasę, gaunamą iš cell.getStyle() ir įrašomą atgal su cell.setStyle(). Galite konfigūruoti bold ir colour ant Font, taikyti HorizontalAlignment ir nustatyti pasirinktines skaičių formatavimo eilutes per style.setCustom(). Eilutės aukštis ir stulpelio plotis valdomi per getRows().get(n).setHeight() ir getColumns().get(n).setWidth().
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell cell = sheet.getCells().get("B1");
cell.putValue(9999.5);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
workbook.save("styled.xlsx");
}
Duomenų tikrinimas ir sąlyginis formatavimas
Duomenų tikrinimo taisyklės pridedamos per sheet.getValidations().add(). Kiekvienas Validation objektas saugo ValidationType (pvz., WHOLE_NUMBER), OperatorType (pvz., BETWEEN) ir formulės eilutes riboms. Sąlyginis formatavimas pridedamas per sheet.getConditionalFormattings().add(), kuris grąžina FormatConditionCollection, kur nurodote langelių intervalus ir sąlygas.
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
Validation validation = sheet.getValidations().get(vi);
validation.setType(ValidationType.WHOLE_NUMBER);
validation.setOperator(OperatorType.BETWEEN);
validation.setFormula1("1");
validation.setFormula2("100");
workbook.save("validated.xlsx");
}
Auto filtrai ir puslapio nustatymai
AutoFilteriai konfigūruojami kviečiant ws.getAutoFilter().setRange() su A1‑notacijos
intervalo eilute. Objektas PageSetup valdo popieriaus dydį, orientaciją ir
pritaikymo prie puslapio nustatymus spausdinimui paruoštam išvestyje. Darbalapio apsauga taikoma per protect() suWorksheetProtectionModel.
Greitas pradžia
Pridėkite Maven priklausomybę prie savo pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Sukurkite darbaknygę, užpildykite langelius, taikykite formatavimą ir išsaugokite:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class QuickStart {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Report");
sheet.getCells().get("A1").putValue("Revenue");
Cell cell = sheet.getCells().get("B1");
cell.putValue(12500.75);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(22.0);
sheet.getCells().getColumns().get(1).setWidth(14.5);
workbook.save("report.xlsx");
}
}
}
Palaikomi formatai
| Formatas | Plėtinys | Skaityti | Rašyti |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Išsaugojimas šiuo metu apribotas iki .xlsx. Biblioteka saugo ir perduoda formules,
bet tai nėra pilnas skaičiuoklės skaičiavimo variklis.
Atviro kodo ir licencijavimas
Aspose.Cells FOSS for Java išleista 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.