Introduzione

Aspose.Cells FOSS for Java fornisce un set completo di funzionalità per fogli di calcolo per applicazioni Java 17. Rilasciata sotto licenza MIT e distribuita come artefatto Maven standard, la libreria copre tutto, dalla creazione di cartelle di lavoro di base ai valori di cella tipizzati, formattazione avanzata, convalida dei dati e AutoFilter — il tutto senza dipendenza da Microsoft Office.

Questo post illustra le principali aree funzionali con esempi di codice mirati tratti da
la superficie API verificata. Tutti i nomi di classi e metodi mostrati di seguito esistono nella libreria
e sono disponibili nella versione 1.0.0.


Caratteristiche principali

Gestione di Cartelle di Lavoro e Fogli di Lavoro

La classe Workbook implementa AutoCloseable così si integra perfettamente con il
pattern Java try-with-resources. È possibile creare una cartella di lavoro vuota, caricare un file esistente
.xlsx file, rinominare i fogli di lavoro, aggiungere o rimuovere fogli, impostare il foglio attivo e
controllare la visibilità delle schede.

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

Valori di cella tipizzati e formule

La classe Cell accetta valori tipizzati tramite putValue() per String, int, double, boolean e LocalDateTime. Il metodo getType() restituisce un valore enum CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME o FORMULA — facilitando il branching sul tipo di valore senza analizzare le stringhe. Le stringhe di formula sono memorizzate con setFormula() e verranno ricalcolate da Excel all’apertura.

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

Formattazione delle celle e stili

La formattazione viene applicata tramite l’oggetto Style recuperato da cell.getStyle() e scritto nuovamente con cell.setStyle(). Il sotto‑oggetto Font espone setBold() e setColor(). HorizontalAlignment controlla l’allineamento del testo — LEFT, CENTER o RIGHT. I formati numerici personalizzati utilizzano stringhe di formato Excel tramite style.setCustom(). L’altezza della riga e la larghezza della colonna vengono regolati tramite getRows().get(n).setHeight() e 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");
}

Validazione dei dati

Le regole di convalida dei dati vengono aggiunte tramite sheet.getValidations().add(). Ogni oggetto Validation accetta un ValidationType (ad es. WHOLE_NUMBER, DECIMAL, LIST) e un OperatorType (ad es. BETWEEN, GREATER_THAN). I limiti della formula sono memorizzati come stringhe tramite setFormula1() e 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 consentono agli utenti finali di filtrare i dati in Excel in modo interattivo senza alcuna configurazione aggiuntiva.
Chiama ws.getAutoFilter().setRange() con un intervallo in notazione A1 per
abilitare la riga di intestazione del filtro. Ulteriori colonne di filtro e criteri personalizzati possono
essere definiti tramite FilterColumn e 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");
}

Impostazione pagina e protezione del foglio di lavoro

La classe PageSetup controlla le dimensioni della carta, l’orientamento della pagina e le impostazioni di adattamento alla pagina per l’output pronto per la stampa. La protezione del foglio di lavoro viene applicata tramite protect() con un WorksheetProtectionModel, consentendo a celle specifiche di rimanere modificabili mentre il resto è bloccato. I collegamenti ipertestuali sono gestiti tramite HyperlinkCollection.


Avvio rapido

Aggiungi la dipendenza al tuo pom.xml:

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

Crea un workbook con tutte le funzionalità principali in meno di 20 righe:

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

Formati supportati

FormatoEstensioneLetturaScrittura
Excel Open XML.xlsx

Il salvataggio è attualmente limitato a .xlsx. La libreria memorizza e trasmette le formule
ma non funziona come un motore di calcolo completo per fogli di calcolo.


Open Source e Licenze

Aspose.Cells FOSS per Java è rilasciato sotto licenza MIT. Sei libero di usarlo, modificarlo e distribuirlo in progetti personali, open source e commerciali senza restrizioni. Il codice sorgente è disponibile su github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Iniziare