Úvod
Aspose.Cells FOSS for Java je open-source Java 17 knižnica, ktorá umožňuje vývojárom vytvárať, načítať, upravovať a ukladať Excel .xlsx zošity úplne na JVM — s žiadnou inštaláciou Microsoft Office, žiadnymi natívnymi knižnicami a žiadnou komerčnou závislosťou na Aspose runtime. Verejné API sa nachádza v balíku com.aspose.cells_foss a je vydané pod licenciou MIT, čo ho robí vhodným pre osobné, open-source a komerčné projekty.
Knižnica je distribuovaná ako štandardný Maven artefakt a pokrýva základný model objektov OOXML tabuľkových hárkov: zošity, pracovné hárky, bunky, štýly a kolekcie. Je postavená na Maven 3.9+ a cielená na Java 17+, prirodzene sa integruje do akéhokoľvek moderného Java build pipeline.
Pridajte závislosť do svojho pom.xml a budete pripravení generovať alebo spracovať Excel
zošity z servletu, dávkovej úlohy, funkcie Lambda alebo akéhokoľvek iného Java server‑side
kontext.
Kľúčové vlastnosti
Správa zošita a pracovného hárku
Trieda Workbook je vstupným bodom pre všetky operácie s tabuľkovými kalkuláciami. Implementuje
AutoCloseable, takže sa hladko integruje so vzorcom try-with-resources. Môžete
vytvárať nové zošity, načítať existujúce súbory .xlsx, pridávať a odstraňovať pracovné hárky, premenovať
hárky pomocou setName(), nastaviť aktívny hárok a ovládať viditeľnosť kariet.
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");
}
Hodnoty buniek a vzorce
Trieda Cell podporuje ukladanie typovaných hodnôt prostredníctvom putValue() pre reťazce, celé čísla,
desatinné čísla, logické hodnoty a LocalDateTime hodnoty. Reťazce vzorcov sa ukladajú pomocou
setFormula() a budú po otvorení prepočítané programom Excel. Typ hodnoty je vystavený
prostredníctvom CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME alebo 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");
}
Formátovanie buniek a štýly
Formátovanie sa aplikuje prostredníctvom triedy Style, získanej z cell.getStyle() a zapísanej späť pomocou cell.setStyle(). Môžete nastaviť tučný text a farbu v Font, použiť HorizontalAlignment a nastaviť vlastné reťazce formátu čísla prostredníctvom style.setCustom(). Výška riadku a šírka stĺpca sa ovládajú prostredníctvom getRows().get(n).setHeight() a 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");
}
Overovanie údajov a podmienené formátovanie
Pravidlá overovania údajov sa pridávajú prostredníctvom sheet.getValidations().add(). Každý objekt Validation obsahuje ValidationType (napr. WHOLE_NUMBER), OperatorType (napr. BETWEEN) a reťazce vzorcov pre hranice. Podmienené formátovanie sa pridáva prostredníctvom sheet.getConditionalFormattings().add(), ktorý vracia FormatConditionCollection, kde špecifikujete rozsahy buniek a podmienky.
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");
}
AutoFiltre a nastavenie stránky
AutoFiltre sa konfigúrujú volaním ws.getAutoFilter().setRange() s reťazcom rozsahu v notácii A1. Objekt PageSetup riadi veľkosť papiera, orientáciu a nastavenia prispôsobenia stránke pre výstup pripravený na tlač. Ochrana hárku sa aplikuje prostredníctvom protect() s WorksheetProtectionModel.
Rýchly štart
Pridajte Maven závislosť do svojho pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Vytvorte zošit, naplňte bunky, použite formátovanie a uložte:
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");
}
}
}
Podporované formáty
| Formát | Prípona | Čítať | Zapísať |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Ukladanie je momentálne obmedzené na .xlsx. Knižnica ukladá a prenáša vzorce, ale nie je to plnohodnotný výpočtový engine pre tabuľky.
Open Source a licencovanie
Aspose.Cells FOSS pre Java je vydaný pod licenciou MIT. Môžete ho voľne používať, modifikovať a distribuovať v osobných, open-source a komerčných projektoch bez obmedzení. Zdrojový kód je dostupný na github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.