Uvod
Aspose.Cells FOSS for Java je open‑source Java 17 biblioteka koja omogućuje programerima stvaranje, učitavanje, izmjenu i spremanje Excel .xlsx radnih knjiga u potpunosti na JVM‑u — bez instalacije Microsoft Officea, bez nativnih biblioteka i bez komercijalne Aspose runtime ovisnosti. Javni API nalazi se u paketu com.aspose.cells_foss i objavljen je pod MIT licencom, što ga čini prikladnim za osobne, open‑source i komercijalne projekte.
Biblioteka se isporučuje kao standardni Maven artefakt i pokriva osnovni OOXML model objekata proračunskih tablica: radne knjige, radni listovi, ćelije, stilovi i kolekcije. Izgrađena je s Mavenom 3.9+ i cilja Java 17+, prirodno se integrirajući u bilo koji moderan Java build pipeline.
Dodajte ovisnost u svoj pom.xml i spremni ste generirati ili obrađivati Excel
radne knjige iz servlet-a, batch posla, Lambda funkcije ili bilo kojeg drugog Java poslužiteljskog
konteksta.
Ključne značajke
Upravljanje radnom knjigom i radnim listom
Klasa Workbook ulazna je točka za sve operacije s proračunskim tablicama. ImplementiraAutoCloseable tako da se čisto integrira s obrascem try-with-resources. Možete
stvoriti nove radne knjige, učitati postojeće .xlsx datoteke, dodavati i uklanjati radne listove, preimenovati
listove pomoću setName(), postaviti aktivni list i kontrolirati 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");
}
Vrijednosti ćelija i formule
Klasa Cell podržava pohranu tipiziranih vrijednosti putem putValue() za stringove, cijele brojeve,
double, boolean i LocalDateTime vrijednosti. Formule u obliku stringova pohranjuju se pomoću
setFormula() i Excel će ih preračunati pri otvaranju. Tip vrijednosti izlaže se
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 ćelija i stilovi
Formatiranje se primjenjuje putem klase Style, dohvaćene iz cell.getStyle() i zapisane natrag s cell.setStyle(). Možete konfigurirati podebljano i boju na Font, primijeniti HorizontalAlignment i postaviti prilagođene stringove formata broja putem style.setCustom(). Visina retka i širina stupca kontroliraju se putem 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");
}
Provjera podataka i uvjetno formatiranje
Pravila provjere podataka dodaju se putem sheet.getValidations().add(). Svaki Validation objekt sadrži ValidationType (npr., WHOLE_NUMBER), OperatorType (npr., BETWEEN) i formule za granice. Uvjetno formatiranje dodaje se putem sheet.getConditionalFormattings().add(), koji vraća FormatConditionCollection gdje specificirate raspon ćelija i uvjete.
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");
}
AutoFilteri i postavke stranice
AutoFilteri se konfiguriraju pozivanjem ws.getAutoFilter().setRange() s nizom raspona u A1-notation
niz raspona.
Objekt PageSetup kontrolira veličinu papira, orijentaciju i fit-to-page
postavke za ispis spreman izlaz.
Zaštita radnog lista primjenjuje se putem protect() sWorksheetProtectionModel.
Brzi početak
Dodajte Maven ovisnost u svoj pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Stvorite radnu knjigu, popunite ćelije, primijenite formatiranje i spremite:
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 | ✓ | ✓ |
Spremanje je trenutno ograničeno na .xlsx. Biblioteka pohranjuje i prenosi formule,
ali nije potpuni motor za izračunavanje proračunskih tablica.
Open Source i licenciranje
Aspose.Cells FOSS za Java objavljen je pod MIT licencom. Slobodni ste ga 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.