Увод
Aspose.Cells FOSS for Java je open-source Java 17 biblioteka koja omogućava programerima
da kreiraju, učitavaju, modifikuju i čuvaju Excel .xlsx radne sveske u potpunosti na JVM — bez
instalacije Microsoft Office‑a, bez nativnih biblioteka i bez komercijalne Aspose runtime
zavisnosti. Javni API se nalazi u com.aspose.cells_foss paketu i
objavljen je pod MIT licencom, što ga čini pogodnim za lične, open-source i
komercijalne projekte podjednako.
Biblioteka se isporučuje kao standardni Maven artefakt i pokriva osnovni OOXML model objekata proračunskih tabela: radne sveske, radne listove, ćelije, stilove i kolekcije. Izgrađena je uz Maven 3.9+ i cilja Java 17+, prirodno se integrišući u bilo koji moderan Java build pipeline.
Dodajte zavisnost u svoj pom.xml i spremni ste da generišete ili obrađujete Excel
radne sveske iz servlet‑a, batch posla, Lambda funkcije ili bilo kog drugog Java server‑side
konteksta.
Ključne karakteristike
Управљање радном книгом и радним листом
Klasa Workbook je ulazna tačka za sve operacije sa tabelama. ImplementiraAutoCloseable, tako da se čisto integriše sa obrascem try-with-resources. Možete
kreirati nove radne sveske, učitati postojeće .xlsx fajlove, dodavati i uklanjati radne listove, preimenovati
listove pomoću setName(), postaviti aktivni list i kontrolisati vidljivost kartica.
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");
}
Vrednosti ćelija i formule
Klasa Cell podržava skladištenje tipizovanih vrednosti putem putValue() za stringove, cele brojeve, double‑ove, logičke vrednosti i LocalDateTime vrednosti. Formula stringovi se čuvaju pomoću setFormula() i biće ponovo izračunati od strane Excela prilikom otvaranja. Tip vrednosti je izložen preko CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME ili 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");
}
Форматирање ћелија и стилови
Formatiranje se primenjuje kroz klasu Style, preuzima se iz cell.getStyle() i zapisuje nazad pomoću cell.setStyle(). Možete konfigurisati podebljano i boju na Font, primeniti HorizontalAlignment i postaviti prilagođene stringove formata broja putem style.setCustom(). Visina reda i širina kolone se kontrolišu kroz getRows().get(n).setHeight() i 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");
}
Validacija podataka i uslovno formatiranje
Pravila za proveru podataka se dodaju putem sheet.getValidations().add(). Svaki Validation objekat sadrži ValidationType (npr., WHOLE_NUMBER), OperatorType (npr., BETWEEN) i formule za granice. Uslovno formatiranje se dodaje putem sheet.getConditionalFormattings().add(), koji vraća FormatConditionCollection gde specificirate opsege ćelija i uslove.
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");
}
Аутоматски филтери и подешавање странице
AutoFilters su konfigurisani pozivanjem ws.getAutoFilter().setRange() sa A1‑notacijom
stringom opsega. Objekat PageSetup kontroliše veličinu papira, orijentaciju i prilagođavanje stranici
podešavanja za izlaz spreman za štampu. Zaštita radnog lista se primenjuje putem protect() uzWorksheetProtectionModel.
Brzi početak
Dodajte Maven zavisnost u svoj pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Kreirajte radnu svesku, popunite ćelije, primenite formatiranje i sačuvajte:
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");
}
}
}
Podržani formati
| Format | Ekstenzija | Čitanje | Pisanje |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Čuvanje je trenutno ograničeno na .xlsx. Biblioteka čuva i prenosi formule, ali nije potpuni motor za izračunavanje tabela.
Open Source i licenciranje
Aspose.Cells FOSS for Java je objavljen pod MIT licencom.
Možete ga slobodno koristiti,
menjati i distribuirati ga 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.