Увод

Aspose.Cells FOSS for Java pruža sveobuhvatan skup funkcionalnosti za rad sa tabelama za Java 17 aplikacije. Objavljen pod MIT licencom i distribuiran kao standardni Maven artefakt, biblioteka pokriva sve, od osnovnog kreiranja radnih svezaka preko tipiziranih vrednosti ćelija, bogatog formatiranja, validacije podataka i AutoFilter‑a — sve bez zavisnosti od Microsoft Office‑a.

Ovaj post prolazi kroz glavne oblasti funkcionalnosti sa fokusiranim primerima koda preuzetim sa
verifikovane API površine. Sva imena klasa i metoda prikazana ispod postoje u biblioteci
i dostupna su u verziji 1.0.0.


Ključne karakteristike

Управљање радним књигама и радним листовима

Klasa Workbook implementira AutoCloseable, tako da se čisto integriše sa
Java try-with-resources obrascem. Možete kreirati prazan radni list, učitati postojeću
.xlsx datoteku, preimenovati radne listove, dodavati ili uklanjati listove, postaviti aktivni list i
kontrolisati vidljivost 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");
}

Унете вредности ћелија и формуле

Klasa Cell prihvata tipizirane vrednosti putem putValue() za String, int, double, boolean i LocalDateTime. Metod getType() vraća vrednost enumeracije CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME ili FORMULA — što olakšava grananje po tipu vrednosti bez parsiranja stringova. Stringovi formula se čuvaju uz setFormula() i biće ponovo izračunati od strane Excela prilikom otvaranja.

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 se primenjuje kroz objekat Style dobijen iz cell.getStyle() i zapisuje nazad pomoću cell.setStyle(). Podobjekat Font izlaže setBold() i setColor(). HorizontalAlignment kontroliše poravnavanje teksta — LEFT, CENTER ili RIGHT. Prilagođeni formati brojeva koriste Excel format stringove putem style.setCustom(). Visina reda i širina kolone se podešavaju kroz 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");
}

Валидација података

Pravila za validaciju podataka se dodaju putem sheet.getValidations().add(). Svaki Validation objekat uzima ValidationType (npr. WHOLE_NUMBER, DECIMAL, LIST) i OperatorType (npr. BETWEEN, GREATER_THAN). Granice formule se čuvaju 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

AutoFilteri omogućavaju krajnjim korisnicima da interaktivno filtriraju podatke u Excelu bez dodatne
konfiguracije. Pozovite ws.getAutoFilter().setRange() sa opsegom u A1 notaciji da
omogućite red zaglavlja filtera. Dodatne kolone filtera i prilagođeni kriterijumi mogu biti
definisani 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");
}

Podešavanje stranice i zaštita radnog lista

Klasa PageSetup kontroliše veličinu papira, orijentaciju stranice i podešavanja prilagođavanja stranici za izlaz spreman za štampu. Zaštita radnog lista se primenjuje putem protect() uz WorksheetProtectionModel, omogućavajući da određene ćelije ostanu izmenjive dok se ostatak zaključava. Hiperveze se upravljaju putem HyperlinkCollection.


Brzi početak

Dodajte zavisnost u vaš pom.xml:

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

Kreirajte radnu svesku sa svim glavnim funkcijama u manje od 20 redova:

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

Čuvanje je trenutno ograničeno na .xlsx. Biblioteka čuva i prosleđuje formule, ali ne funkcioniše kao kompletan motor za izračunavanje tabela.


Open Source i licenciranje

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


Početak