Introduktion

Aspose.Cells FOSS för Java erbjuder ett omfattande urval av kalkylbladsfunktioner för Java 17‑applikationer. Släppt under MIT‑licensen och distribuerat som en standard‑Maven‑artefakt täcker biblioteket allt från grundläggande arbetsboksskapande via typade cellvärden, rik formatering, datavalidering och AutoFilter — allt utan ett Microsoft‑Office‑beroende.

Detta inlägg går igenom huvudfunktionerna med fokuserade kodexempel hämtade från
den verifierade API-ytan. Alla klass- och metodnamn som visas nedan finns i biblioteket
och är tillgängliga i version 1.0.0.


Nyckelfunktioner

Arbetsbok och arbetsbladhantering

Klassen Workbook implementerar AutoCloseable så att den integreras smidigt med
Java try-with-resources-mönstret. Du kan skapa en tom arbetsbok, läsa in en befintlig
.xlsx‑fil, byta namn på kalkylblad, lägga till eller ta bort blad, ange det aktiva bladet, och
kontrollera flikens synlighet.

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

Skrivna cellvärden och formler

Klassen Cell accepterar typade värden via putValue() för String, int, double, boolean och LocalDateTime. Metoden getType() returnerar ett CellValueType‑enum‑värde — STRING, NUMBER, BOOLEAN, DATE_TIME eller FORMULA — vilket gör det enkelt att grena efter värdetyp utan att parsra strängar. Formelsträngar lagras med setFormula() och kommer att omräknas av Excel vid öppning.

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

Cellformatering och stilar

Formatering tillämpas via Style-objektet som hämtas från cell.getStyle() och skrivs tillbaka med cell.setStyle(). Font-underobjektet exponerar setBold() och setColor(). HorizontalAlignment styr textjustering — LEFT, CENTER eller RIGHT. Anpassade talformat använder Excel-formatsträngar via style.setCustom(). Radhöjd och kolumnbredd justeras genom getRows().get(n).setHeight() och 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 läggs till via sheet.getValidations().add(). Varje Validation-objekt tar emot en ValidationType (t.ex. WHOLE_NUMBER, DECIMAL, LIST) och en OperatorType (t.ex. BETWEEN, GREATER_THAN). Formelgränser lagras som strängar via setFormula1() och 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 låter slutanvändare interaktivt filtrera data i Excel utan någon extra konfiguration. Anropa ws.getAutoFilter().setRange() med ett A1-notation‑intervall för att aktivera filterrubrikraden. Ytterligare filterkolumner och anpassade kriterier kan definieras genom FilterColumn och 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");
}

Sidinställning och skydd av arbetsblad

Klassen PageSetup styr pappersstorlek, sidorientering och anpassning‑till‑sida‑inställningar för utskriftsklar output. Arbetsbladsskydd tillämpas via protect() med en WorksheetProtectionModel, vilket möjliggör att specifika celler förblir redigerbara medan resten låses. Hyperlänkar hanteras via HyperlinkCollection.


Snabbstart

Lägg till beroendet i din pom.xml:

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

Skapa en arbetsbok med alla huvudfunktioner på under 20 rader:

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

Stödda format

FormatFiländelseLäsSkriv
Excel Open XML.xlsx

Sparande är för närvarande begränsat till .xlsx. Biblioteket lagrar och vidarebefordrar formler men fungerar inte som en fullständig kalkylbladsberäkningsmotor.


Öppen källkod & licensiering

Aspose.Cells FOSS for Java är släppt under MIT-licensen. Du får fritt använda, modifiera och distribuera den i personliga, öppen källkod och kommersiella projekt utan restriktioner. Källkoden finns tillgänglig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Kom igång