Einleitung

Aspose.Cells FOSS for Java ist eine Open-Source-Java 17-Bibliothek, die Entwicklern ermöglicht
Excel .xlsx Arbeitsmappen vollständig auf der JVM zu erstellen, zu laden, zu ändern und zu speichern — mit
keiner Microsoft Office-Installation, keinen nativen Bibliotheken und keiner kommerziellen Aspose‑Runtime‑Abhängigkeit.
Die öffentliche API befindet sich im com.aspose.cells_foss‑Paket und wird
unter der MIT-Lizenz veröffentlicht, wodurch sie für private, Open‑Source- und kommerzielle Projekte gleichermaßen geeignet ist.

Die Bibliothek wird als Standard‑Maven‑Artefakt ausgeliefert und deckt das Kern‑OOXML‑Tabellenkalkulations‑Objektmodell ab: Arbeitsmappen, Arbeitsblätter, Zellen, Stile und Sammlungen. Sie wird mit Maven 3.9+ gebaut und zielt auf Java 17+ ab, wobei sie sich nahtlos in jede moderne Java‑Build‑Pipeline integriert.

Fügen Sie die Abhängigkeit zu Ihrem pom.xml hinzu und Sie sind bereit, Excel
Arbeitsmappen aus einem Servlet, einem Batch‑Job, einer Lambda‑Funktion oder einem anderen Java‑Server‑seitigen Kontext zu erzeugen oder zu verarbeiten.


Hauptmerkmale

Verwaltung von Arbeitsmappen und Arbeitsblättern

Die Workbook‑Klasse ist der Einstiegspunkt für alle Tabellenkalkulationsoperationen.
Sie implementiert
AutoCloseable, sodass sie sich sauber in das try-with-resources‑Muster integriert.
Sie können
neue Arbeitsmappen erstellen, vorhandene .xlsx‑Dateien laden, Arbeitsblätter hinzufügen und entfernen, Blätter mit setName() umbenennen,
das aktive Blatt festlegen und die Sichtbarkeit von Registerkarten steuern.

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

Zellwerte und Formeln

Die Cell‑Klasse unterstützt die typisierte Wertspeicherung über putValue() für Zeichenketten, Ganzzahlen, Gleitkommazahlen, Boolesche Werte und LocalDateTime‑Werte. Formelzeichenketten werden mit setFormula() gespeichert und von Excel beim Öffnen neu berechnet. Der Werttyp wird über CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME oder FORMULA offengelegt.

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

Zellformatierung und Stile

Die Formatierung wird über die Klasse Style angewendet, die von cell.getStyle() abgerufen und mit cell.setStyle() zurückgeschrieben wird. Sie können Fett und Farbe in Font konfigurieren, HorizontalAlignment anwenden und benutzerdefinierte Zahlenformatzeichenfolgen über style.setCustom() festlegen. Zeilenhöhe und Spaltenbreite werden über getRows().get(n).setHeight() und getColumns().get(n).setWidth() gesteuert.

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

Datenvalidierung und bedingte Formatierung

Datengültigkeitsregeln werden über sheet.getValidations().add() hinzugefügt. Jedes Validation‑Objekt enthält ein ValidationType (z. B. WHOLE_NUMBER), ein OperatorType (z. B. BETWEEN) und Formelkette für die Grenzen. Bedingte Formatierung wird über sheet.getConditionalFormattings().add() hinzugefügt, das ein FormatConditionCollection zurückgibt, in dem Sie Zellbereiche und Bedingungen angeben.

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

AutoFilter und Seitenlayout

AutoFilter werden konfiguriert, indem ws.getAutoFilter().setRange() mit einer A1-Notation
Bereichszeichenfolge aufgerufen wird. Das PageSetup‑Objekt steuert Papiergröße, Ausrichtung und Fit‑to‑Page‑
Einstellungen für druckfertige Ausgaben. Der Blattschutz wird über protect() mit
einem WorksheetProtectionModel angewendet.


Schnellstart

Fügen Sie die Maven‑Abhängigkeit zu Ihrem pom.xml hinzu:

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

Erstellen Sie eine Arbeitsmappe, füllen Sie Zellen, wenden Sie Formatierungen an und speichern Sie sie:

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

Unterstützte Formate

FormatErweiterungLesenSchreiben
Excel Open XML.xlsx

Das Speichern ist derzeit auf .xlsx beschränkt. Die Bibliothek speichert und übergibt Formeln, ist jedoch keine vollständige Tabellenkalkulations‑Engine.


Open Source & Lizenzierung

Aspose.Cells FOSS für Java wird unter der MIT-Lizenz veröffentlicht. Sie sind frei, es zu verwenden, zu ändern und in persönlichen, Open-Source- und kommerziellen Projekten ohne Einschränkungen zu verbreiten. Der Quellcode ist verfügbar unter github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Erste Schritte