Įvadas

Aspose.Cells FOSS for Java suteikia išsamų skaičiuoklių funkcionalumų rinkinį Java 17 programoms. Išleista pagal MIT licenciją ir platinama kaip standartinis Maven artefaktas, biblioteka apima viską nuo pagrindinio darbaknygės kūrimo iki tipizuotų ląstelių verčių, turtingo formatavimo, duomenų tikrinimo ir AutoFilter — viskas be Microsoft Office priklausomybės.

Šiame įraše apžvelgiamos pagrindinės funkcijų sritys su sutelktomis kodo pavyzdžiais, paimtais iš
patikrinto API paviršiaus. Visi žemiau parodyti klasės ir metodų pavadinimai egzistuoja bibliotekoje
ir yra prieinami 1.0.0 versijoje.


Pagrindinės funkcijos

Darbo knygos ir darbalapio valdymas

Workbook klasė įgyvendina AutoCloseable, todėl ji sklandžiai integruojasi su šiuo
Java try-with-resources šablonu. Galite sukurti tuščią darbaknygę, įkelti esamą
.xlsx failą, pervadinti darbalapius, pridėti arba pašalinti lapus, nustatyti aktyvų lapą ir
valdyti skirtukų matomumą.

import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    sheet.setName("Q1 Report");
    workbook.getWorksheets().addSheet("Summary");
    workbook.save("report.xlsx");
}

Įvestos langelių reikšmės ir formulės

Cell klasė priima tipizuotas reikšmes per putValue() skirta String, int, double, boolean ir LocalDateTime. getType() metodas grąžina CellValueType enum reikšmę — STRING, NUMBER, BOOLEAN, DATE_TIME arba FORMULA — leidžiantį lengvai šakoti pagal reikšmės tipą be eilučių analizės. Formulės eilutės saugomos su setFormula() ir bus perskaičiuotos Excel programos atvėrus.

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 a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(42500.00);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    // Check type
    assert b1.getType() == CellValueType.NUMBER;
    assert c1.getType() == CellValueType.FORMULA;
    workbook.save("values.xlsx");
}

Ląstelių formatavimas ir stiliai

Formatavimas taikomas per Style objektą, gautą iš cell.getStyle() ir įrašytą atgal su cell.setStyle(). Font poobjektas atskleidžia setBold() ir setColor(). HorizontalAlignment valdo teksto lygiavimą — LEFT, CENTER arba RIGHT. Pasirinktiniai skaičių formatai naudoja Excel formato eilutes per style.setCustom(). Eilutės aukštis ir stulpelio plotis reguliuojami per getRows().get(n).setHeight() ir getColumns().get(n).setWidth().

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
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.50);
    Style style = cell.getStyle();
    style.getFont().setBold(true);
    style.setCustom("#,##0.00");
    cell.setStyle(style);
    sheet.getCells().getRows().get(0).setHeight(24.0);
    sheet.getCells().getColumns().get(1).setWidth(16.0);
    workbook.save("styled.xlsx");
}

Duomenų tikrinimas

Duomenų tikrinimo taisyklės pridedamos per sheet.getValidations().add(). Kiekvienas Validation objektas priima ValidationType (pvz. WHOLE_NUMBER, DECIMAL, LIST) ir OperatorType (pvz. BETWEEN, GREATER_THAN). Formulės ribos saugomos kaip eilutės per setFormula1() ir setFormula2().

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
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");
}

AutoFilter

AutoFilters leidžia galutiniams naudotojams interaktyviai filtruoti duomenis „Excel“ be jokios papildomos
konfigūracijos. Iškvieskite ws.getAutoFilter().setRange() su A1 notacijos diapazonu, kad
įjungtumėte filtro antraštės eilutę. Papildomi filtrų stulpeliai ir pasirinktini kriterijai gali būti
apibrėžti naudojant FilterColumn ir AutoFilterCustomFilter.

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("Product");
    sheet.getCells().get("B1").putValue("Qty");
    sheet.getAutoFilter().setRange("A1:B1");
    workbook.save("filtered.xlsx");
}

Puslapio nustatymai ir darbalapio apsauga

PageSetup klasė valdo popieriaus dydį, puslapio orientaciją ir pritaikymo prie puslapio nustatymus spausdinimui paruoštam išvedimui. Darbalapio apsauga taikoma per protect() su WorksheetProtectionModel, leidžiant konkretiems langeliams likti redaguojamiems, o likusią dalį užrakinant. Nuorodos valdomos per HyperlinkCollection.


Greitas pradžia

Pridėkite priklausomybę į savo pom.xml:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Sukurkite darbaknygę su visomis pagrindinėmis funkcijomis per mažiau nei 20 eilučių:

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("Sales");
            sheet.getCells().get("A1").putValue("Revenue");
            Cell b1 = sheet.getCells().get("B1");
            b1.putValue(42500.00);
            Style style = b1.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            b1.setStyle(style);
            sheet.getAutoFilter().setRange("A1:B1");
            workbook.save("sales.xlsx");
        }
    }
}

Palaikomi formatai

FormatasPlėtinysSkaitytiRašyti
Excel Open XML.xlsx

Saugojimas šiuo metu apribotas iki .xlsx. Biblioteka saugo ir perkelia formules, tačiau neveikia kaip pilna 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