Johdanto

Aspose.Cells FOSS for Java tarjoaa kattavan joukon taulukkolaskentaominaisuuksia Java 17 -sovelluksille. Julkaistu MIT‑lisenssin alla ja jaettuna tavallisena Maven‑artefaktina, kirjasto kattaa kaiken perus-työkirjan luomisesta tyypitettyihin soluarvoihin, rikkaaseen muotoiluun, tietojen tarkistukseen ja AutoFilteriin — ilman Microsoft Office -riippuvuutta.

Tämä julkaisu käy läpi pääominaisuusalueet keskittyneillä koodiesimerkeillä, jotka on otettu
vahvistetusta API-pinnasta. Kaikki alla näytetyt luokka- ja menetelmänimet ovat kirjastossa
ja saatavilla versiossa 1.0.0.


Keskeiset ominaisuudet

Työkirjan ja Työarkin hallinta

Workbook-luokka toteuttaa AutoCloseable, joten se integroidaan saumattomasti Java‑try-with-resources‑malliin. Voit luoda tyhjän työkirjan, ladata olemassa olevan .xlsx-tiedoston, nimetä uudelleen työkirjan välilehdet, lisätä tai poistaa välilehtiä, asettaa aktiivisen välilehden ja hallita välilehden näkyvyyttä.

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

Syötetyt soluarvot ja kaavat

Cell-luokka hyväksyy tyypitettyjä arvoja putValue():n kautta String, int, double, boolean ja LocalDateTime. getType()-metodi palauttaa CellValueType-enum-arvon — STRING, NUMBER, BOOLEAN, DATE_TIME tai FORMULA — mikä tekee arvotyypin haarauttamisesta helppoa ilman merkkijonojen jäsentämistä. Kaava‑merkkijonot tallennetaan setFormula():n avulla, ja Excel laskee ne uudelleen avattaessa.

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

Solun muotoilu ja tyylit

Muotoilu toteutetaan Style-objektin kautta, joka haetaan cell.getStyle():stä ja kirjoitetaan takaisin cell.setStyle():lla. Font-alikohde paljastaa setBold() ja setColor(). HorizontalAlignment hallitsee tekstin tasausta — LEFT, CENTER tai RIGHT. Mukautetut numeroformaatit käyttävät Excelin muotoilumerkkejä style.setCustom():n kautta. Rivikorkeus ja sarakeleveys säädetään getRows().get(n).setHeight():n ja getColumns().get(n).setWidth():n avulla.

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

Datan validointi

Tietojen validointisäännöt lisätään sheet.getValidations().add() kautta. Jokainen Validation-objekti ottaa ValidationTypen (esim. WHOLE_NUMBER, DECIMAL, LIST) ja OperatorTypen (esim. BETWEEN, GREATER_THAN). Kaavan rajoitukset tallennetaan merkkijonoina setFormula1()n ja setFormula2()n kautta.

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

Automaattinen suodatin

Autosuodattimet antavat loppukäyttäjien suodattaa tietoja Excelissä interaktiivisesti ilman ylimääräistä määritystä. Kutsu ws.getAutoFilter().setRange() A1-notaatiota käyttäen aluetta ottaaksesi ottaa suodatinotsikkorivin käyttöön. Lisäsuodatin-sarakkeet ja mukautetut kriteerit voidaan määrittää FilterColumn ja AutoFilterCustomFilter avulla.

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

Sivun asetukset ja taulukon suojaus

PageSetup-luokka hallitsee paperikokoa, sivun suuntausta ja sovita‑sivulle -asetuksia tulostusvalmiille tulosteelle. Työkirjan suojaus toteutetaan protect():n avulla WorksheetProtectionModel:n kanssa, jolloin tietyt solut pysyvät muokattavina, kun taas loput lukitaan. Hyperlinkit hallitaan HyperlinkCollection:n kautta.


Pika-aloitus

Lisää riippuvuus pom.xml:

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

Luo työkirja, jossa on kaikki tärkeimmät ominaisuudet, alle 20 riviä:

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

Tuetut tiedostomuodot

MuotoTiedostopääteLukuKirjoitus
Excel Open XML.xlsx

Tallentaminen on tällä hetkellä rajoitettu .xlsx. Kirjasto tallentaa ja siirtää kaavat läpi, mutta se ei toimi täyden taulukkolaskenta‑moottorin tavoin.


Avoin lähdekoodi ja lisensointi

Aspose.Cells FOSS for Java on julkaistu MIT‑lisenssin alla. Voit vapaasti käyttää, muokata ja jakaa sitä henkilökohtaisissa, avoimen lähdekoodin ja kaupallisissa projekteissa ilman rajoituksia. Lähdekoodi on saatavilla osoitteessa github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Aloittaminen