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. ImplementaAutoCloseable 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 CellValueType — STRING, 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
| Formato | Estensione | Lettura | Scrittura |
|---|---|---|---|
| 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.