I fogli di calcolo di MS Excel hanno semplificato la conservazione e la condivisione di una grande quantità di dati tabulari. Non solo, puoi eseguire varie operazioni come l’applicazione di formule, la generazione di grafici e grafici, l’ordinamento e il filtraggio dei dati e così via. In questo articolo imparerai come implementare le funzionalità di automazione di Excel dall’interno delle tue applicazioni Java. Dopo aver letto questo articolo, sarai in grado di creare file Excel XLSX o XLS da zero utilizzando Java. Inoltre, questo articolo tratterà come aggiornare un file Excel esistente, generare grafici, applicare formule e aggiungere tabelle pivot nei fogli di lavoro di Excel.

API Java per creare file Excel - Download gratuito

Aspose.Cells for Java è una potente API per la manipolazione di fogli di calcolo che ti consente di creare o modificare file Excel senza MS Office. L’API supporta l’aggiunta di grafici, grafici, formule ed eseguire altre operazioni di manipolazione del foglio di calcolo a livello di codice. Puoi scaricare l’API gratuitamente o installarla all’interno delle tue applicazioni basate su Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>20.9</version>
</dependency>

Crea Excel XLSX o XLS usando Java

I file MS Excel sono indicati come cartelle di lavoro e ciascuna cartella di lavoro è composta da uno o più fogli di lavoro. I fogli di lavoro contengono inoltre le righe e le colonne per mantenere i dati sotto forma di celle. Quindi iniziamo creando una semplice cartella di lavoro. Di seguito sono riportati i passaggi per creare un file XLSX di Excel da zero.

  • Crea un’istanza della classe Workbook.
  • Accedi al foglio di lavoro desiderato utilizzando il metodo Workbook.getWorksheets.get().
  • Inserisci il valore nella cella desiderata nel foglio di lavoro utilizzando l’identificatore della cella, ad esempio A1, B3, ecc.
  • Salva la cartella di lavoro come file Excel utilizzando il metodo Workbook.save().

L’esempio di codice seguente mostra come creare un file XLSX di Excel utilizzando Java.

// Crea una nuova cartella di lavoro
Workbook workbook = new Workbook();

// Aggiungi valore nella cella
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");

// Salva come file XLSX di Excel
workbook.save("Excel.xlsx"); 

Modifica un file XLSX di Excel utilizzando Java

Diamo ora un’occhiata a come modificare o inserire dati in un file MS Excel esistente. Per questo, puoi semplicemente caricare il file, accedere al foglio di lavoro desiderato e salvare il file aggiornato. Di seguito sono riportati i passaggi per modificare un file Excel esistente.

  • Apri il file Excel usando la classe Cartella di lavoro.
  • Accedi ai fogli di lavoro e alle celle utilizzando rispettivamente le classi Foglio di lavoro e Cella.
  • Salva la cartella di lavoro aggiornata come file .xlsx di Excel.

L’esempio di codice seguente mostra come modificare un file MS Excel esistente utilizzando Java.

// Crea una nuova cartella di lavoro
Workbook workbook = new Workbook("workbook.xls"); 

// Ottieni il riferimento della cella "A1" dalle celle di un foglio di lavoro
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");

// Imposta "Hello World!" valore nella cella "A1".
cell.setValue("updated cell value.");

// Scrivi il file Excel
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);

Crea grafici o grafici in Excel utilizzando Java

I grafici nei fogli di lavoro vengono utilizzati per rappresentare visivamente i dati archiviati nei fogli di lavoro. Semplificano l’analisi di una grande quantità di dati abbastanza facilmente. Aspose.Cells per Java fornisce una ampia gamma di grafici che puoi creare all’interno dei file Excel a livello di codice. Di seguito sono riportati i passaggi per creare un grafico in un file XLSX di Excel.

  • Crea un nuovo file Excel o caricane uno esistente usando la classe Cartella di lavoro.
  • Aggiungi dati al foglio di lavoro (facoltativo).
  • Ottieni la raccolta di grafici del foglio di lavoro utilizzando il metodo Worksheet.getCharts().
  • Aggiungi un nuovo grafico utilizzando il metodo Worksheet.getCharts().add().
  • Ottieni il grafico appena creato dalla raccolta.
  • Specificare l’intervallo di celle per impostare NSeries per il grafico.
  • Salva la cartella di lavoro come file .xlsx di Excel.

L’esempio di codice seguente mostra come creare un grafico in Excel XLSX usando Java.

// Crea una nuova cartella di lavoro
Workbook workbook = new Workbook("workbook.xlsx"); 

// Ottenere il riferimento del primo foglio di lavoro
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);

// Aggiunta di un valore di esempio alle celle
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);

// ottenere grafici nel foglio di lavoro
ChartCollection charts = sheet.getCharts();

// Aggiunta di un grafico al foglio di lavoro
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);

// Aggiunta di NSeries (origine dati grafico) al grafico che va da "A1"
// cella a "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);

// Scrivi il file Excel 
workbook.save("Excel_with_Chart.xlsx");
crea un grafico in excel usando java

Crea una tabella pivot in Excel XLSX utilizzando Java

Le tabelle pivot nei fogli di lavoro di Excel hanno vari scopi come l’aggiunta di filtri ai dati, il calcolo dei totali, il riepilogo dei dati e così via. È possibile creare tabelle pivot utilizzando l’intervallo delle celle nel foglio di lavoro. Di seguito sono riportati i passaggi per creare una tabella pivot in un foglio di lavoro di Excel.

  • Crea una nuova Cartella di lavoro o carica un file esistente.
  • Inserisci i dati nel foglio di lavoro (facoltativo).
  • Accedi alla raccolta di tabelle pivot utilizzando il metodo Worksheet.getPivotTables().
  • Aggiungi una nuova tabella pivot nel foglio di lavoro utilizzando il metodo Worksheet.getPivotTables().add().
  • Fornisci i dati alla tabella pivot.
  • Salva la cartella di lavoro.

L’esempio di codice seguente mostra come creare una tabella pivot in Excel usando Java.

// Crea una nuova cartella di lavoro
Workbook workbook = new Workbook("workbook.xlsx"); 

// Ottieni il primo foglio di lavoro.
Worksheet sheet = workbook.getWorksheets().get(0);

// Ottenere la raccolta di celle del foglio di lavoro
Cells cells = sheet.getCells();

// Impostazione del valore sulle celle
Cell cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");

cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");

cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");

cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);


PivotTableCollection pivotTables = sheet.getPivotTables();

// Aggiunta di una tabella pivot al foglio di lavoro
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");

// Accesso all'istanza della tabella pivot appena aggiunta
PivotTable pivotTable = pivotTables.get(index);

// Non mostrare i totali complessivi per le righe.
pivotTable.setRowGrand(false);

// Trascinando il primo campo nell'area della riga.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Trascinando il secondo campo nell'area della colonna.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);

// Trascinando il terzo campo nell'area dati.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);

// Scrivi il file Excel 
workbook.save("Excel_with_Chart.xlsx");
crea una tabella pivot in excel usando java

Aggiungi formule per le celle nel file Excel utilizzando Java

Aspose.Cells per Java consente anche di lavorare con le formule nei fogli di lavoro di Excel. È possibile applicare le funzioni integrate e aggiuntive alle celle.

Applica le funzioni integrate in Excel

Per utilizzare le funzioni integrate, puoi semplicemente accedere alla cella desiderata nel foglio di lavoro e aggiungere la formula usando il metodo Cell.setFormula(String). L’esempio di codice seguente mostra come impostare una formula incorporata utilizzando Java.

// Crea una nuova cartella di lavoro
Workbook workbook = new Workbook();

// Aggiungi valore nella cella
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");

// Salva come file XLSX di Excel
workbook.save("Excel.xlsx"); 

Aggiungi funzioni aggiuntive in Excel

Potrebbe verificarsi un caso in cui è necessario utilizzare una funzione definita dall’utente. Per questo, dovrai registrare la funzione del componente aggiuntivo utilizzando un file .xlam (componente aggiuntivo abilitato per le macro di Excel) e quindi utilizzarlo per le celle desiderate. Per la registrazione delle funzioni aggiuntive, Aspose.Cells per Java fornisce i metodi registerAddInFunction(int, String) e registerAddInFunction(String, String, boolean). L’esempio di codice seguente mostra come registrare e utilizzare una funzione aggiuntiva utilizzando Java.

// creare una nuova cartella di lavoro
Workbook workbook = new Workbook();

// Registra il componente aggiuntivo abilitato alla macro insieme al nome della funzione
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);

// Registra più funzioni nel file (se presenti)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file

// Accedi al primo foglio di lavoro
Worksheet worksheet = workbook.getWorksheets().get(0);

// Accedi alla prima cella
Cell cell = worksheet.getCells().get("A1");

// Imposta il nome della formula presente nel componente aggiuntivo
cell.setFormula("=TEST_UDF()"); 

// Salva come file XLSX di Excel
workbook.save("Excel.xlsx"); 

Conclusione

In questo articolo, hai visto come creare file MS Excel da zero utilizzando Java senza MS Office. Hai anche imparato come aggiornare cartelle di lavoro, creare grafici, aggiungere tabelle e applicare formule ai valori delle celle all’interno dei fogli di lavoro di MS Excel. Puoi saperne di più sull’API Java Excel di Aspose usando documentazione.

Guarda anche