Į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 CellValueTypeSTRING, 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() su
WorksheetProtectionModel.


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

FormatasPlėtinysSkaitytiRaš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.


Pradžia