Wprowadzenie

Aspose.Cells FOSS for Java to otwarto‑źródłowa biblioteka Java 17, która umożliwia programistom
tworzyć, ładować, modyfikować i zapisywać skoroszyty Excel .xlsx w pełni na JVM — bez
instalacji Microsoft Office, bez bibliotek natywnych i bez komercyjnej zależności od środowiska uruchomieniowego Aspose.
Publiczne API znajduje się w pakiecie com.aspose.cells_foss i jest
udostępnione na licencji MIT, co czyni je odpowiednim zarówno dla projektów osobistych, otwarto‑źródłowych,
jak i komercyjnych.

Biblioteka jest dostarczana jako standardowy artefakt Maven i obejmuje podstawowy model obiektowy OOXML arkusza kalkulacyjnego: skoroszyty, arkusze, komórki, style i kolekcje. Została zbudowana przy użyciu Maven 3.9+ i celuje w Java 17+, integrując się naturalnie z każdym nowoczesnym potokiem budowania Java.

Dodaj zależność do swojego pom.xml i jesteś gotowy generować lub przetwarzać skoroszyty Excel z serwletu, zadania wsadowego, funkcji Lambda lub dowolnego innego kontekstu po stronie serwera Java.


Kluczowe funkcje

Zarządzanie skoroszytem i arkuszem

Klasa Workbook jest punktem wejścia dla wszystkich operacji na arkuszach kalkulacyjnych. Implementuje
AutoCloseable, dzięki czemu płynnie integruje się z wzorcem try-with-resources. Możesz
tworzyć nowe skoroszyty, ładować istniejące pliki .xlsx, dodawać i usuwać arkusze, zmieniać nazwy
arkuszy przy użyciu setName(), ustawiać aktywny arkusz oraz kontrolować widoczność zakładek.

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");
}

Wartości komórek i formuły

Klasa Cell obsługuje przechowywanie wartości typowanych za pomocą putValue() dla ciągów znaków, liczb całkowitych, liczb zmiennoprzecinkowych, wartości logicznych oraz wartości LocalDateTime. Łańcuchy formuł są przechowywane przy użyciu setFormula() i będą przeliczane ponownie przez Excel przy otwarciu. Typ wartości jest udostępniany poprzez CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME lub 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");
}

Formatowanie komórek i style

Formatowanie jest stosowane za pomocą klasy Style, pobieranej z cell.getStyle() i zapisywanej z powrotem przy użyciu cell.setStyle(). Możesz konfigurować pogrubienie i kolor w Font, zastosować HorizontalAlignment oraz ustawić własne ciągi formatów liczbowych za pomocą style.setCustom(). Wysokość wiersza i szerokość kolumny są kontrolowane przez 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");
}

Walidacja danych i formatowanie warunkowe

Reguły walidacji danych są dodawane za pomocą sheet.getValidations().add(). Każdy obiekt Validation przechowuje ValidationType (np. WHOLE_NUMBER), OperatorType (np. BETWEEN) oraz ciągi formuł określające granice. Formatowanie warunkowe jest dodawane za pomocą sheet.getConditionalFormattings().add(), które zwraca FormatConditionCollection, w którym określasz zakresy komórek i warunki.

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 i ustawienia strony

AutoFilters są konfigurowane przez wywołanie ws.getAutoFilter().setRange() z notacją A1 ciągiem zakresu. Obiekt PageSetup kontroluje rozmiar papieru, orientację i dopasowanie do strony ustawienia dla gotowego do druku wyjścia. Ochrona arkusza jest stosowana przez protect() z a WorksheetProtectionModel.


Szybki start

Dodaj zależność Maven do swojego pom.xml:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Utwórz skoroszyt, wypełnij komórki, zastosuj formatowanie i zapisz:

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");
        }
    }
}

Obsługiwane formaty

FormatRozszerzenieOdczytZapis
Excel Open XML.xlsx

Zapisywanie jest obecnie ograniczone do .xlsx. Biblioteka przechowuje i przekazuje dalej formuły, ale nie jest pełnym silnikiem obliczeniowym arkusza kalkulacyjnego.


Open Source i licencjonowanie

Aspose.Cells FOSS for Java jest udostępniony na licencji MIT. Masz swobodę używać, modyfikować i rozpowszechniać go w projektach osobistych, open‑source i komercyjnych bez ograniczeń. Kod źródłowy jest dostępny pod adresem github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Rozpoczęcie