Úvod
Aspose.Cells FOSS for Java poskytuje komplexnú sadu funkcií pre tabuľky pre aplikácie Java 17. Vydané pod licenciou MIT a distribuované ako štandardný Maven artefakt, knižnica pokrýva všetko od základného vytvárania zošitia cez typované hodnoty buniek, bohaté formátovanie, overovanie údajov a AutoFilter — všetko bez závislosti na Microsoft Office.
Tento príspevok prechádza hlavnými oblasťami funkcií s konkrétnymi príkladmi kódu prevzatými z
overeného rozhrania API.
Všetky názvy tried a metód uvedené nižšie existujú v knižnici
a sú dostupné vo verzii 1.0.0.
Kľúčové vlastnosti
Správa zošita a pracovného hárku
Trieda Workbook implementuje AutoCloseable, takže sa čistо integruje s
Java vzorom try-with-resources. Môžete vytvoriť prázdny zošit, načítať existujúci
.xlsx súbor, premenovať pracovné hárky, pridať alebo odstrániť listy, nastaviť aktívny list a
ovládať viditeľnosť kariet.
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");
}
Zadávané hodnoty buniek a vzorce
Trieda Cell prijíma typované hodnoty prostredníctvom putValue() pre String, int, double,
boolean a LocalDateTime. Metóda getType() vracia hodnotu výčtu CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME alebo FORMULA — čo uľahčuje vetvenie podľa typu hodnoty bez parsovania reťazcov. Reťazce vzorcov sú uložené pomocou setFormula() a budú po otvorení prepočítané programom Excel.
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");
}
Formátovanie buniek a štýly
Formátovanie sa aplikuje prostredníctvom objektu Style získaného z cell.getStyle() a zapísaného späť pomocou cell.setStyle(). Podobjekt Font odhaľuje setBold() a setColor(). HorizontalAlignment riadi zarovnanie textu — LEFT, CENTER alebo RIGHT. Vlastné formáty čísel používajú reťazce formátu Excelu prostredníctvom style.setCustom(). Výška riadku a šírka stĺpca sa upravujú pomocou getRows().get(n).setHeight() a 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");
}
Validácia údajov
Pravidlá overovania údajov sa pridávajú prostredníctvom sheet.getValidations().add(). Každý
Validation objekt prijíma ValidationType (napr. WHOLE_NUMBER, DECIMAL, LIST)
a OperatorType (napr. BETWEEN, GREATER_THAN). Hranice vzorca sa ukladajú ako
reťazce prostredníctvom setFormula1() a 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
AutoFiltre umožňujú koncovým používateľom interaktívne filtrovať údaje v programe Excel bez akýchkoľvek ďalších nastavení. Zavolajte ws.getAutoFilter().setRange() s rozsahom v A1 notácii, aby ste povolili riadok hlavičky filtra. Ďalšie stĺpce filtra a vlastné kritériá je možné definovať pomocou FilterColumn a 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");
}
Nastavenie stránky a ochrana hárku
Trieda PageSetup riadi veľkosť papiera, orientáciu stránky a nastavenia prispôsobenia na stránku pre výstup pripravený na tlač. Ochrana hárka sa aplikuje prostredníctvom protect() s WorksheetProtectionModel, čo umožňuje, aby konkrétne bunky zostali editovateľné, zatiaľ čo zvyšok je zamknutý. Hyperlinky sa spravujú prostredníctvom HyperlinkCollection.
Rýchly štart
Pridajte závislosť do svojho pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Vytvorte zošit so všetkými hlavnými funkciami v menej ako 20 riadkoch:
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");
}
}
}
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 nefunguje ako plnohodnotný výpočtový engine tabuľkového procesora.
Open Source a licencovanie
Aspose.Cells FOSS for 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.