1. Products
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Java

Aspose.Cells FOSS za Java

Open-source Java 17 biblioteka za kreiranje, učitavanje, izmenu i čuvanje Excel .xlsx radnih svezaka.

Aspose.Cells FOSS — Open Source Java biblioteka za proračunske tablice

Aspose.Cells FOSS za Java je čista-Java 17 biblioteka koja omogućava programerima da kreiraju, učitavaju, menjaju i čuvaju Excel .xlsx radne sveske bez ikakvog komercijalnog Aspose runtime-a zavisnost. Izlaže čist javni API u okviru paketa com.aspose.cells_foss i je objavljen pod MIT licencom.

Biblioteka pokriva osnovni model objekata proračunskih tablica: radne sveske, radne listove, ćelije, stilove i kolekcije. Podržane mogućnosti uključuju vrednosti ćelija (string, broj, boolean, datum/vreme i formula), formatiranje ćelija (fontovi, ivice, popunjavanja, poravnanje, i formati brojeva), AutoFilteri, validacija podataka, uslovno formatiranje, hiperveze, spojene ćelije, definisana imena, podešavanje stranice i zaštita radnog lista.

Aspose.Cells FOSS za Java je izgrađen sa Maven 3.9+ i cilja Java 17+. Dodajte ga u vaš projekat putem jedne Maven zavisnosti. Za naprednije funkcionalnosti, pogledajte Aspose.Cells commercial edition. Čuvanje je trenutno ograničeno na .xlsx format.

Upravljanje radnim svezkom i radnim listom

  • Kreirajte nove radne sveske pomoću new Workbook() koristeći try-with-resources obrazac
  • Pristupajte radnim listovima putem getWorksheets().get(index) ili po imenu
  • Preimenujte radne listove pomoću setName(), dodajte i uklonite listove, postavite aktivni list
  • Kontrolišite vidljivost radnog lista i boju kartice putem WorksheetViewModel

Ko koristi ovu funkciju

  • Generisanje radnih svezaka izveštaja u server‑side Java aplikacijama
  • Automatizacija kreiranja Excel dokumenata sa više listova u batch pipeline-ima
  • Izgradnja radnih tokova za generisanje tabela zasnovanih na šablonima
  • Programatsko razdvajanje ili spajanje radnih svezaka bez instaliranog Excela

Vrednosti i formule ćelija

  • Postavite vrednosti ćelija pomoću cell.putValue() za String, int, double, boolean i LocalDateTime
  • Pročitajte tip vrednosti putem CellValueType: STRING, NUMBER, BOOLEAN, DATE_TIME ili FORMULA
  • Sačuvajte formule kao stringove pomoću cell.setFormula(); tip vrednosti postaje FORMULA
  • Pristupite tekstualnoj reprezentaciji bilo koje vrednosti ćelije putem cell.getStringValue()

Ko koristi ovu funkciju

  • Popunjavanje tabela podataka i finansijskih modela u tabelama generisanim na serveru
  • Pisanje izračunatih polja koja će Excel ponovo evaluirati prilikom otvaranja
  • Čitanje i konvertovanje podataka ćelija za dalju obradu
  • Izgradnja tipizovanih izvozа podataka iz Java domen objekata

Formatiranje i stilovi ćelija

  • Primeni fontove, ivice i popune putem klase Style iz cell.getStyle()
  • Kontrolišite poravnanje putem HorizontalAlignment (LEFT, CENTER, RIGHT) i AlignmentValue
  • Postavite formate brojeva koristeći style.setCustom() ili ugrađene šablone NumberFormat
  • Podesite visinu reda i širinu kolone pomoću getRows().get(n).setHeight() i getColumns().get(n).setWidth()

Ko koristi ovu funkciju

  • Izrada profesionalno formatiranih izveštaja bez Excela na serveru
  • Isticanje podataka podebljanim fontovima i prilagođenim formatima brojeva
  • Osiguravanje da širine kolona odgovaraju izvezenim podacima bez ručnog podešavanja
  • Primena doslednih stilova brendiranja na generisanim radnim listovima

AutoFilter, Validacija i Uslovno formatiranje

  • Postavite opseg AutoFilter‑a pomoću ws.getAutoFilter().setRange()
  • Dodajte filter kolone i prilagođene filter kriterijume putem FilterColumn i AutoFilterCustomFilter
  • Definišite pravila za validaciju podataka koristeći ValidationType i OperatorType uz sheet.getValidations().add()
  • Primeni uslovno formatiranje putem FormatConditionCollection i FormatCondition

Ko koristi ovu funkciju

  • Izgradnja interaktivnih tabela podataka u kojima krajnji korisnici primenjuju filtere u Excelu
  • Primena numeričkih ili listno‑baziranih ograničenja unosa u deljenim tabelama
  • Automatsko isticanje vrednosti van opsega pomoću uslovnih pravila bojenja
  • Generisanje radnih listova spremnih za reviziju sa vidljivim pravilima kvaliteta podataka

Podešavanje stranice i Zaštita radnog lista

  • Konfigurišite podešavanja štampe pomoću PageSetup: veličina papira, orijentacija, prilagođavanje stranici, oblast za štampu
  • Uključite ili isključite mrežne linije i zaglavlja za štampu putem PrintOptionsModel
  • Zaštitite radne listove i fino podesite dozvole koristeći WorksheetProtectionModel
  • Sačuvajte hiperveze u radnim listovima putem Hyperlink i HyperlinkCollection

Ko koristi ovu funkciju

  • Generisanje faktura i izveštaja spremnih za štampu iz Java back‑end servisa
  • Zaključavanje ćelija sa formulama uz omogućavanje unosa podataka u nezaštićenim opsezima
  • Ugrađivanje navigacionih linkova između listova u generisanim radnim knjigama
  • Kreiranje standardizovanog izlaza koji se ispravno štampa bez ručnog podešavanja stranice

Kreirajte radnu svesku, upišite vrednosti i sačuvajte

Kreirajte radnu svesku, postavite vrednosti i stilove ćelija, podesite dimenzije redova i kolona, i sačuvajte u .xlsx fajl koristeći Workbook.save().

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 Main {
    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");
            sheet.getCells().get("B1").putValue(12500.75);
            Cell total = sheet.getCells().get("B1");
            Style style = total.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            total.setStyle(style);
            sheet.getCells().getRows().get(0).setHeight(22.0);
            sheet.getCells().getColumns().get(1).setWidth(14.5);
            workbook.save("report.xlsx");
        }
    }
}

Učitajte radnu svesku sa dijagnostikom

Učitajte postojeći .xlsx fajl koristeći LoadOptions da omogućite režim popravke, zatim pregledajte diagnostiku učitavanja pre čuvanja izmenjenog radnog lista.

import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;

public class LoadWorkbook {
    public static void main(String[] args) {
        LoadOptions options = new LoadOptions();
        options.setStrictMode(false);
        options.setTryRepairPackage(true);
        options.setTryRepairXml(true);
        try (Workbook workbook = new Workbook("input.xlsx", options)) {
            if (workbook.getLoadDiagnostics().hasRepairs()) {
                for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
                    System.out.println(issue.getMessage());
                }
            }
            workbook.getDocumentProperties().setAuthor("cells-foss");
            workbook.save("output.xlsx");
        }
    }
}

Validacija podataka i uslovno formatiranje

Dodajte pravilo za validaciju celobrojnih vrednosti i istaknite odgovarajuće ćelije podebljanim uslovno formatiranje u jednoj radnoj svesci.

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.FormatCondition;
import com.aspose.cells_foss.FormatConditionCollection;
import com.aspose.cells_foss.FormatConditionType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

public class RulesExample {
    public static void main(String[] args) {
        try (Workbook workbook = new Workbook()) {
            Worksheet sheet = workbook.getWorksheets().get(0);
            int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 1));
            Validation validation = sheet.getValidations().get(vi);
            validation.setType(ValidationType.WHOLE_NUMBER);
            validation.setOperator(OperatorType.BETWEEN);
            validation.setFormula1("1");
            validation.setFormula2("100");
            int cfIndex = sheet.getConditionalFormattings().add();
            FormatConditionCollection conditions = sheet.getConditionalFormattings().get(cfIndex);
            conditions.addArea(CellArea.createCellArea("B2", "B11"));
            int condIndex = conditions.addCondition(
                FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "1", "100");
            FormatCondition condition = conditions.get(condIndex);
            Style style = condition.getStyle();
            style.getFont().setBold(true);
            condition.setStyle(style);
            workbook.save("rules.xlsx");
        }
    }
}
  

Support and Learning Resources

 Српски