Introduktion

Aspose.Cells FOSS for Java leverer et omfattende sæt regnearksfunktioner til Java 17‑applikationer. Udgivet under MIT‑licensen og distribueret som en standard Maven‑artifact, dækker biblioteket alt fra grundlæggende oprettelse af arbejdsbøger til typede celleværdier, rig formatering, datavalidering og AutoFilter — alt uden en Microsoft Office‑afhængighed.

Dette indlæg gennemgår de vigtigste funktionsområder med fokuserede kodeeksempler hentet fra
den verificerede API-overflade. Alle klasse- og metodenavne, der vises nedenfor, findes i biblioteket
og er tilgængelige i version 1.0.0.


Nøglefunktioner

Projektmappe- og regnearksadministration

Klassen Workbook implementerer AutoCloseable så den integreres problemfrit med Java try-with-resources-mønsteret. Du kan oprette en tom projektmappe, indlæse en eksisterende .xlsx‑fil, omdøbe regneark, tilføje eller fjerne ark, indstille det aktive ark og kontrollere fanens synlighed.

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

Indtastede celleværdier og formler

Klassen Cell accepterer typede værdier via putValue() for String, int, double, boolean og LocalDateTime. Metoden getType() returnerer en CellValueType enum‑værdi — STRING, NUMBER, BOOLEAN, DATE_TIME eller FORMULA — hvilket gør det nemt at forgrene sig på værditypen uden at parse strenge. Formelstrenge gemmes med setFormula() og vil blive genberegnet af Excel ved åbning.

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

Celleformatering og stilarter

Formatering anvendes gennem Style‑objektet, som hentes fra cell.getStyle() og skrives tilbage med cell.setStyle(). Font‑underobjektet eksponerer setBold() og setColor(). HorizontalAlignment styrer tekstjustering — LEFT, CENTER eller RIGHT. Tilpassede talformater bruger Excel‑formatstrenge via style.setCustom(). Rækkehøjde og kolonnebredde justeres gennem getRows().get(n).setHeight() og 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");
}

Datavalidering

Datavalideringsregler tilføjes gennem sheet.getValidations().add(). Hvert Validation‑objekt tager en ValidationType (f.eks. WHOLE_NUMBER, DECIMAL, LIST) og en OperatorType (f.eks. BETWEEN, GREATER_THAN). Formelgrænser gemmes som strenge via setFormula1() og 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

AutoFilters giver slutbrugere mulighed for interaktivt at filtrere data i Excel uden ekstra
konfiguration. Kald ws.getAutoFilter().setRange() med et A1-notation område for at
aktivere filterets overskriftsrække. Yderligere filterkolonner og brugerdefinerede kriterier kan
defineres gennem FilterColumn og 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");
}

Sideopsætning og regnearksbeskyttelse

Klassen PageSetup styrer papirstørrelse, sideorientering og indstillinger for tilpasning til side for udskriftsklar output. Arkbeskyttelse anvendes via protect() med en WorksheetProtectionModel, så specifikke celler kan forblive redigerbare, mens resten låses. Hyperlinks håndteres via HyperlinkCollection.


Hurtig start

Tilføj afhængigheden til din pom.xml:

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

Opret en arbejdsbog med alle hovedfunktioner på under 20 linjer:

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

Understøttede formater

FormatUdvidelseLæsSkriv
Excel Open XML.xlsx

Gemning er i øjeblikket begrænset til .xlsx. Biblioteket gemmer og overfører formler, men fungerer ikke som en fuld regnearksberegningsmotor.


Open Source & Licensering

Aspose.Cells FOSS for Java er udgivet under MIT-licensen. Du er fri til at bruge, modificere og distribuere den i personlige, open-source og kommercielle projekter uden begrænsning. Kildekoden er tilgængelig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Kom i gang