Uvod

Aspose.Cells FOSS za Java pruža sveobuhvatan skup mogućnosti proračunskih tablica za Java 17 aplikacije. Objavljen pod MIT licencom i distribuiran kao standardni Maven artefakt, biblioteka pokriva sve, od osnovnog stvaranja radnih knjiga preko tipiziranih vrijednosti ćelija, bogatog formatiranja, provjere podataka i AutoFiltera — sve bez ovisnosti o Microsoft Officeu.

Ovaj post prolazi kroz glavna područja značajki s fokusiranim primjerima koda preuzetim iz
verificirane API površine. Svi nazivi klasa i metoda prikazani u nastavku postoje u biblioteci
i dostupni su u verziji 1.0.0.


Ključne značajke

Upravljanje radnom knjigom i radnim listom

Klasa Workbook implementira AutoCloseable tako da se čisto integrira s
Java try-with-resources obrascem. Možete stvoriti praznu radnu knjigu, učitati postojeću
.xlsx datoteku, preimenovati radne listove, dodavati ili uklanjati listove, postaviti aktivni list i
upravljati vidljivošću kartica.

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");
}

Tipizirane vrijednosti ćelija i formule

Klasa Cell prihvaća tipizirane vrijednosti putem putValue() za String, int, double, boolean i LocalDateTime. Metoda getType() vraća vrijednost enum-a CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME ili FORMULA — što olakšava grananje po tipu vrijednosti bez parsiranja stringova. Formula stringovi se pohranjuju s setFormula() i Excel će ih preračunati pri otvaranju.

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");
}

Formatiranje ćelija i stilovi

Formatiranje se primjenjuje putem objekta Style dohvaćenog iz cell.getStyle() i zapisuje se natrag pomoću cell.setStyle(). Podobjekt Font izlaže setBold() i setColor(). HorizontalAlignment kontrolira poravnavanje teksta — LEFT, CENTER ili RIGHT. Prilagođeni formati brojeva koriste Excelove formatne stringove putem style.setCustom(). Visina retka i širina stupca prilagođavaju se putem getRows().get(n).setHeight() i 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");
}

Provjera podataka

Pravila provjere podataka se dodaju putem sheet.getValidations().add(). Svaki Validation objekt uzima ValidationType (npr. WHOLE_NUMBER, DECIMAL, LIST) i OperatorType (npr. BETWEEN, GREATER_THAN). Granice formule pohranjuju se kao stringovi putem setFormula1() i 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 omogućuju krajnjim korisnicima interaktivno filtriranje podataka u Excelu bez dodatne konfiguracije. Pozovite ws.getAutoFilter().setRange() s rasponom u A1 notaciji kako biste omogućili redak zaglavlja filtra. Dodatne stupce filtra i prilagođena pravila mogu se definirati putem FilterColumn i 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");
}

Postavke stranice i zaštita radnog lista

Klasa PageSetup kontrolira veličinu papira, orijentaciju stranice i postavke prilagodbe na stranicu za ispis spremnog izlaza. Zaštita radnog lista primjenjuje se putem protect() s WorksheetProtectionModel, omogućujući da određene ćelije ostanu uređive dok se ostatak zaključava. Hiperveze se upravljaju putem HyperlinkCollection.


Brzi početak

Dodajte ovisnost u svoj pom.xml:

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

Stvorite radnu knjigu sa svim glavnim značajkama u manje od 20 redaka:

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");
        }
    }
}

Podržani formati

FormatEkstenzijaČitanjePisanje
Excel Open XML.xlsx

Spremanje je trenutno ograničeno na .xlsx. Biblioteka pohranjuje i prenosi formule, ali ne funkcionira kao potpuni motor za izračune proračunskih tablica.


Open source i licenciranje

Aspose.Cells FOSS za Java objavljen je pod MIT licencom. Slobodno ga možete koristiti, mijenjati i distribuirati u osobnim, open‑source i komercijalnim projektima bez ograničenja. Izvorni kod dostupan je na github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Početak