Introduzione

Aspose.Cells FOSS for Java è una libreria Java 17 open-source che consente agli sviluppatori
di creare, caricare, modificare e salvare cartelle di lavoro Excel .xlsx interamente sulla JVM — con
nessuna installazione di Microsoft Office, nessuna libreria nativa e nessuna dipendenza commerciale del runtime Aspose.
L’API pubblica si trova nel pacchetto com.aspose.cells_foss e viene
rilasciata sotto licenza MIT, rendendola adatta a progetti personali, open-source e
commerciali allo stesso modo.

La libreria viene distribuita come un artefatto Maven standard e copre il modello di oggetti core OOXML per fogli di calcolo: cartelle di lavoro, fogli di lavoro, celle, stili e collezioni. È costruita con Maven 3.9+ e mira a Java 17+, integrandosi naturalmente in qualsiasi pipeline di build Java moderna.

Aggiungi la dipendenza al tuo pom.xml e sarai pronto a generare o elaborare cartelle di lavoro Excel da un servlet, un job batch, una funzione Lambda o qualsiasi altro contesto server‑side Java.


Caratteristiche principali

Gestione di Cartelle di lavoro e Fogli di lavoro

La classe Workbook è il punto di ingresso per tutte le operazioni sui fogli di calcolo. Implementa
AutoCloseable in modo da integrarsi perfettamente con il pattern try-with-resources. È possibile
creare nuove cartelle di lavoro, caricare file .xlsx esistenti, aggiungere e rimuovere fogli di lavoro, rinominare
i fogli con setName(), impostare il foglio attivo e controllare la visibilità delle schede.

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

Valori e formule delle celle

La classe Cell supporta l’archiviazione di valori tipizzati tramite putValue() per stringhe, interi, double, booleani e valori LocalDateTime. Le stringhe di formula sono memorizzate con setFormula() e verranno ricalcolate da Excel all’apertura. Il tipo di valore è esposto tramite CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME o FORMULA.

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

Formattazione delle celle e stili

La formattazione viene applicata tramite la classe Style, recuperata da cell.getStyle() e scritta nuovamente con cell.setStyle(). È possibile configurare il grassetto e il colore su Font, applicare HorizontalAlignment e impostare stringhe di formato numerico personalizzate tramite style.setCustom(). L’altezza delle righe e la larghezza delle colonne sono controllate tramite getRows().get(n).setHeight() e getColumns().get(n).setWidth().

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

Convalida dei dati e formattazione condizionale

Le regole di convalida dei dati vengono aggiunte tramite sheet.getValidations().add(). Ogni oggetto Validation contiene un ValidationType (ad esempio WHOLE_NUMBER), un OperatorType (ad esempio BETWEEN) e stringhe di formula per i limiti. La formattazione condizionale viene aggiunta tramite sheet.getConditionalFormattings().add(), che restituisce un FormatConditionCollection dove è possibile specificare gli intervalli di celle e le condizioni.

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

AutoFilters e Impostazioni pagina

Gli AutoFilter sono configurati chiamando ws.getAutoFilter().setRange() con una notazione A1 stringa di intervallo. L’oggetto PageSetup controlla le dimensioni della carta, l’orientamento e l’adattamento alla pagina impostazioni per l’output pronto per la stampa. La protezione del foglio di lavoro viene applicata tramite protect() con un WorksheetProtectionModel.


Avvio rapido

Aggiungi la dipendenza Maven al tuo pom.xml:

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

Crea una cartella di lavoro, popola le celle, applica la formattazione e salva:

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

Formati supportati

FormatoEstensioneLetturaScrittura
Excel Open XML.xlsx

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


Open Source e Licenze

Aspose.Cells FOSS for 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