Ú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 CellValueTypeSTRING, 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átPrí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.


Začíname