Esporta i dati in Excel in Java

Puoi esportare facilmente i dati in Microsoft Excel da varie origini disponibili come JSON e CSV. In qualità di sviluppatore Java, puoi esportare i dati da array, elenco di oggetti, JSON e CSV in documenti Excel in modo programmatico. In questo articolo imparerai come esportare i dati in Excel usando Java.

I seguenti argomenti sono discussi/trattati in questo articolo:

API Java per esportare dati

Per esportare i dati in Excel, utilizzerò Aspose.Cells for Java API. È una potente API di manipolazione del foglio di calcolo che ti consente di creare, modificare o convertire file Excel all’interno di applicazioni Java. L’API consente di eseguire le funzionalità di automazione di Excel a livello di codice senza la necessità di un’applicazione Microsoft Excel.

Puoi scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml nella tua applicazione Java basata su Maven per provare gli esempi di codice indicati di seguito.

<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>21.8</version>
</dependency>

Esporta array in Excel in Java

È possibile esportare facilmente i dati da una matrice unidimensionale o da una matrice bidimensionale in un documento Excel. La matrice può essere di un tipo di riferimento o di un tipo di valore. Puoi esportare i dati da un array in Excel seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe Workbook.
  • Ottieni il foglio di lavoro in un’istanza della classe Foglio di lavoro.
  • Crea una matrice contenente valori di stringa
  • Chiama il metodo importArray() con l’array
  • Salva il file di output chiamando il metodo save() della classe Workbook

L’esempio di codice seguente mostra come esportare una matrice di stringhe in Excel utilizzando Java.

// Inizializza un oggetto cartella di lavoro
Workbook workbook = new Workbook();

// Ottenere il riferimento del foglio di lavoro
Worksheet worksheet = workbook.getWorksheets().get(0);

// Creazione di un array contenente nomi come valori di stringa
String[] names = new String[] { "Laurence Chen", "Roman Korchagin", "Kyle Huang" };

// Esportazione dell'array di nomi nella prima riga e nella prima colonna verticalmente
worksheet.getCells().importArray(names, 0, 0, true);

// Salvataggio del file Excel
workbook.save("C:\\Files\\output.xlsx");
Esporta array in Excel in Java

Esporta array in Excel in Java

La classe Workbook dell’API è la classe principale per creare un foglio di calcolo Excel. Fornisce funzionalità per aprire e salvare file excel nativi. Il metodo save() di questa classe viene utilizzato per salvare il file di output nel percorso del file specificato.

La classe Worksheet rappresenta un singolo foglio di lavoro e fornisce funzionalità per lavorare con celle e righe.

Il metodo importArray() della classe Cells esporta una matrice di stringhe in un foglio di lavoro. Richiede i seguenti parametri di input:

  • stringArray: l’array di valori String
  • firstRow: il numero di riga della prima cella in cui esportare
  • firstColumn: il numero di colonna della prima cella in cui esportare
  • isVertical: specifica se esportare i dati verticalmente o orizzontalmente

L’API fornisce anche le versioni sovraccaricate del metodo importArray() per esportare una matrice di numeri interi o doppi in un foglio di lavoro.

Esporta matrice bidimensionale in Excel

Allo stesso modo, puoi esportare un array bidimensionale in un file Excel. L’esempio di codice seguente mostra come esportare una matrice bidimensionale in un file Excel in Java.

// Inizializza un oggetto cartella di lavoro
Workbook workbook = new Workbook();

// Ottenere il riferimento del foglio di lavoro
Worksheet worksheet = workbook.getWorksheets().get(0);

// Creazione di un array bidimensionale di numeri interi
int[][] array2D = { 
  { 1, 2 }, 
  { 3, 4 }, 
  { 5, 6 }, 
  { 7, 8 } 
};

// Esportazione dell'array di nomi nella prima riga e nella prima colonna verticalmente
worksheet.getCells().importArray(array2D, 0, 0);

// Salvataggio del file Excel
workbook.save("C:\\Files\\output.xlsx");
Esporta matrice bidimensionale in Excel

Esporta matrice bidimensionale in Excel

La classe Cells fornisce il metodo importArray() per esportare una matrice a due dimensioni di numeri interi in un foglio di lavoro. L’API fornisce anche le versioni sovraccaricate di questo metodo per esportare una matrice bidimensionale di stringhe o raddoppiare in un foglio di lavoro.

Esporta ArrayList in Excel in Java

È possibile esportare i dati da un ArrayList in Excel seguendo i passaggi indicati di seguito:

  • Crea un’istanza della classe Workbook.
  • Ottieni il foglio di lavoro in un’istanza della classe Foglio di lavoro.
  • Crea un elenco di matrici contenente valori di stringa
  • Chiama il metodo importArrayList() con l’elenco di array
  • Salva il file di output chiamando il metodo save() della classe Workbook

L’esempio di codice seguente mostra come esportare un ArrayList in Excel in Java.

// Inizializza un oggetto cartella di lavoro
Workbook workbook = new Workbook();

// Ottenere il riferimento del foglio di lavoro
Worksheet worksheet = workbook.getWorksheets().get(0);

// Istanziazione di un oggetto ArrayList
ArrayList<String> list = new ArrayList<String>();

// Aggiungi alcuni nomi all'elenco come valori di stringa
list.add("Laurence Chen");
list.add("Roman Korchagin");
list.add("Kyle Huang");
list.add("Tommy Wang");

// Esportazione del contenuto di ArrayList verticalmente nella prima riga e nella prima colonna del foglio di lavoro. 
worksheet.getCells().importArrayList(list, 0, 0, true);

// Salvataggio del file Excel
workbook.save("C:\\Files\\Output.xlsx");
Esporta elenco di array in Excel in Java

Esporta ArrayList in Excel in Java

Il metodo importArrayList() della classe Cells esporta un ArrayList di dati in un foglio di lavoro. Richiede quattro parametri incluso l’ArrayList di dati. Gli altri parametri sono firstRow, firstColumn e isVertical.

Esporta raccolta di oggetti personalizzati in Excel in Java

È possibile esportare i dati da una raccolta di oggetti personalizzati in Excel seguendo i passaggi indicati di seguito:

  • Crea un’istanza della classe Workbook.
  • Ottieni il foglio di lavoro in un’istanza della classe Foglio di lavoro.
  • Crea un elenco di matrici di oggetti personalizzati
  • Chiama il metodo importCustomObjects() con l’elenco di array
  • Salva il file di output chiamando il metodo save() della classe Workbook

L’esempio di codice seguente mostra come esportare una raccolta di oggetti personalizzati in Excel in Java.

// Inizializza una nuova cartella di lavoro
Workbook book = new Workbook();

// Ottenere il riferimento del foglio di lavoro
Worksheet sheet = book.getWorksheets().get(0);

// Definire un ArrayList di persone
List<Person> list = new ArrayList<Person>();

list.add(new Person("Mike", 25, "Software Engineer"));
list.add(new Person("Steve", 30, "Doctor"));
list.add(new Person("Billy", 35, "Teacher"));

// Scegliamo solo le colonne Nome ed Età, non tutte, da esportare nel foglio di lavoro         
sheet.getCells().importCustomObjects((Collection)list,
    new String[] { "Name", "Age" }, // propertyNames
    true, // isPropertyNameShown
    0, // firstRow
    0, // firstColumn
    list.size(), // Number of objects to be exported
    true, // insertRows
    null, // dateFormatString
    false); // convertStringToNumber

// Salva il file Excel
book.save("C:\\Files\\Output.xlsx");
Raccolta di oggetti personalizzati per Excel in Java

Raccolta di oggetti personalizzati per Excel in Java

Il metodo importCustomObjects() della classe Cells esporta un elenco di oggetti personalizzati e accetta i parametri seguenti. L’API fornisce anche la versione sovraccaricata di questo metodo che accetta meno parametri.

  • list: la raccolta di oggetti personalizzati
  • nomeproprietà: specificare il nome per una proprietà specifica da esportare. Se è null, esporterà tutte le proprietà dell’oggetto
  • isPropertyNameShown: indica se il nome della proprietà verrà esportato nella prima riga
  • firstRow: il numero di riga della prima cella da esportare
  • firstColumn: il numero di colonna della prima cella da esportare
  • rowNumber: numero di righe da esportare
  • insertRows: indica se vengono aggiunte righe aggiuntive per adattare i dati
  • dataFormatString: stringa di formato data per le celle
  • convertStringToNumber: indica se questo metodo tenterà di convertire la stringa in numero.

Esporta i dati in Excel con le celle unite in Java

Puoi esportare i dati da una raccolta di oggetti in un foglio di lavoro contenente celle unite seguendo i passaggi indicati di seguito:

  • Crea un’istanza della classe Workbook. with template file path
  • Ottieni il foglio di lavoro in un’istanza della classe Foglio di lavoro.
  • Crea un elenco di array di oggetti
  • Crea un’istanza della classe ImportTableOptions.
  • Chiama il metodo importCustomObjects() con l’elenco di array
  • Salva il file di output chiamando il metodo save() della classe Workbook

L’esempio di codice seguente mostra come esportare una raccolta di oggetti personalizzati in un foglio di lavoro di Excel con celle unite in Java.

// Apertura di una cartella di lavoro esistente.
Workbook workbook = new Workbook("C:\\Files\\SampleMergedTemplate.xlsx");

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

// Istanziazione di un oggetto ArrayList
List<Product> productList = new ArrayList<Product>();

// Creazione di una raccolta di prodotti
for (int i = 0; i < 3; i++)
{
  Product product = new Product(i, "Product - " + i);
    productList.add(product);
}

// Definisci le opzioni di importazione della tabella
ImportTableOptions tableOptions = new ImportTableOptions();

// Imposta la proprietà CheckMergedCells su true
tableOptions.setCheckMergedCells(true);
tableOptions.setFieldNameShown(false);

// Esporta i dati nel modello Excel (nella seconda riga, prima colonna)           
sheet.getCells().importCustomObjects((Collection)productList, 1, 0, tableOptions);

// Salva il file Excel
workbook.save("C:\\Files\\Output.xlsx", SaveFormat.XLSX);
Esporta i dati in Excel con le celle unite in Java

Esporta i dati in Excel con le celle unite in Java

La classe ImportTableOptions fornisce diverse opzioni per esportare i dati nelle celle. Il setCheckMergedCells indica se controllare le celle unite. La proprietà setFieldNameShown indica se il nome del campo deve essere esportato o meno.

Copia righe e colonne da un file Excel a un altro in Java

Puoi copiare facilmente righe e colonne da un file Excel a un altro file a livello di codice seguendo i passaggi indicati di seguito:

  • Crea un’istanza della classe Workbook. with source workbook input file
  • Crea un’istanza della classe Workbook. for destination workbook
  • Ottieni i fogli di lavoro di origine e di destinazione in istanze separate della classe Foglio di lavoro.
  • Chiama il metodo copyRows() del foglio di lavoro di destinazione con le celle del foglio di lavoro di origine
  • Salva il file di output della cartella di lavoro di destinazione chiamando il metodo save() della classe Workbook

L’esempio di codice seguente mostra come copiare righe e colonne da un file Excel a un altro utilizzando Java.

// Apri il file excel di origine.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Crea un'istanza del file excel di destinazione.
Workbook destWorkbook = new Workbook();

// Ottieni il primo foglio di lavoro della cartella di lavoro di origine.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Ottieni il primo foglio di lavoro della cartella di lavoro di destinazione.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Copia tutte le righe del primo foglio di lavoro della cartella di lavoro di origine in
// il primo foglio di lavoro della cartella di lavoro di destinazione.
desWorksheet.getCells().copyRows(srcWorksheet.getCells(), 0, 0, srcWorksheet.getCells().getMaxDisplayRange().getRowCount());

// Salva il file excel.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");	
Copia righe e colonne da un file Excel a un altro in Java

Copia righe e colonne da un file Excel a un altro in Java

Puoi copiare righe specifiche da un file Excel a un altro. L’esempio di codice seguente mostra come copiare righe specifiche da un file Excel a un altro utilizzando Java.

// Apri il file excel di origine.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Crea un'istanza del file excel di destinazione.
Workbook destWorkbook = new Workbook();

// Ottieni il primo foglio di lavoro della cartella di lavoro di origine.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Ottieni il primo foglio di lavoro della cartella di lavoro di destinazione.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Copia la seconda riga della cartella di lavoro di origine nella prima riga della cartella di lavoro di destinazione.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 1, 0);

// Copia la quarta riga della cartella di lavoro di origine nella seconda riga della cartella di lavoro di destinazione.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 3, 1);

// Salva il file excel.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");
Copia righe e colonne specifiche da un file Excel a un altro in Java

Copia righe e colonne specifiche da un file Excel a un altro in Java

Il metodo copyRows() copia i dati e i formati di intere righe. Richiede che le celle del foglio di lavoro di origine vengano copiate come parametri di input insieme all’indice di riga di origine, all’indice di riga di destinazione e al numero di riga copiato. L’API fornisce anche le versioni sovraccaricate di questo metodo per copiare le righe con CopyOptions e PasteOptions.

Allo stesso modo, puoi copiare i dati delle colonne da un documento Microsoft Excel a un altro usando i metodi copyColumn() o copyColumns().

Esporta i dati JSON in Excel in Java

Puoi facilmente esportare i dati da un file JSON in Excel seguendo i passaggi indicati di seguito:

  • Crea un’istanza della classe Workbook.
  • Ottieni il foglio di lavoro in un’istanza della classe Foglio di lavoro.
  • Leggi il file JSON
  • Crea un’istanza della classe CellsFactory.
  • Inizia lo stile chiamando il metodo createStyle().
  • Imposta varie proprietà di stile come Allineamento orizzontale, Colore carattere, ecc.
  • Crea un’istanza della classe JsonLayoutOptions.
  • Imposta lo stile del titolo con l’oggetto stile
  • Imposta l’array come proprietà della tabella su true
  • Chiama il metodo JsonUtility.importData() con l’input JSON e JsonLayoutOptions
  • Salva il file di output chiamando il metodo save() della classe Workbook

L’esempio di codice seguente mostra come esportare i dati da un file JSON in Excel usando Java.

// Creazione di un'istanza di un oggetto Workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);

// Leggi il file JSON
File file = new File("C:\\Files\\sample.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
    String jsonInput = "";
    String tempString;
    while ((tempString = bufferedReader.readLine()) != null) {
      jsonInput = jsonInput + tempString; 
    }
    bufferedReader.close();

// Imposta stili
CellsFactory factory = new CellsFactory();
Style style = factory.createStyle();
style.setHorizontalAlignment(TextAlignmentType.CENTER);
style.getFont().setColor(Color.getCyan());
style.getFont().setBold(true);

// Imposta JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.setTitleStyle(style);
options.setArrayAsTable(true);

// Esporta dati JSON
JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, options);

// Salva file Excel
workbook.save("C:\\Files\\Output.xlsx");
{
  "quiz": {
    "sport": {
      "q1": {
        "question": "Which one is correct team name in NBA?",
        "answer": "Huston Rocket"
      }
    },
    "maths": {
      "q1": {
        "question": "5 + 7 = ?",
        "answer": "12"
      },
      "q2": {
        "question": "12 - 8 = ?",
        "answer": "4"
      }
    }
  }
}
Esporta i dati JSON in Excel in Java

Esporta i dati JSON in Excel in Java

La classe CellsFactory istanzia le classi del modello Cells. Il metodo createStyle() di questa classe crea un nuovo oggetto di stile della classe Style. La classe Style consente di impostare lo stile di visualizzazione del documento Excel, come font, colore, allineamento, bordo, ecc.

La classe JsonLayoutOptions fornisce le opzioni del tipo di layout JSON. Il metodo setTitleStyle di questa classe viene utilizzato per impostare lo stile definito del titolo. Il metodo setArrayAsTable consente di elaborare Array come una tabella.

L’API fornisce la classe JsonUtility per elaborare il JSON. Il metodo importData() di questa classe esporta la stringa JSON e accetta i seguenti parametri:

  • json: la stringa JSON
  • cellule: Le cellule
  • riga: l’indice di riga
  • colonna: l’indice della colonna
  • opzione: le opzioni per esportare la stringa JSON

Ottieni dati CSV in Excel utilizzando Java

Puoi esportare i dati da un file CSV in Excel seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe LoadOptions con LoadFormat
  • Crea un’istanza della classe Workbook. with CSV file path and LoadOptions object
  • Chiama il metodo save() della classe Workbook e salva il file di output

L’esempio di codice seguente mostra come esportare i dati da un file CSV in Excel utilizzando Java.

// Inizializza LoadOptions con CSV LoadFormat.
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);

// Apri il file CSV come oggetto cartella di lavoro
Workbook workbook = new Workbook("C:\\Files\\Sample.csv", loadOptions);

// Salva il file come documento Excel
workbook.save("C:\\Files\\Output.xlsx");
id,language,edition,author,streetAddress,city,state,postalCode
01,Java,third,Herbert Schildt,126,San Jone,CA,394221
02,C++,second,EAAAA,126,San Jone,CA,394221
03,.Net,second,E.Balagurusamy,126,San Jone,CA,394221
Esporta dati CSV in Excel in Java

Esporta dati CSV in Excel in Java

La classe LoadOptions dell’API fornisce opzioni per caricare il file. La classe LoadFormat contiene costanti che rappresentano i formati dei file di caricamento.

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come esportare i dati in Excel in Java. Hai anche imparato come esportare i dati da file Array, JSON o CSV in Excel a livello di codice. Inoltre, hai imparato a copiare righe e colonne da un file Excel a un altro file utilizzando Java. Puoi saperne di più sull’API Aspose.Cells per Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche

Domande frequenti

Come esportare i dati in un file XLSX in Java? Puoi esportare facilmente i dati da array, raccolta di oggetti, JSON e CSV in un file XLSX utilizzando l’API Aspose.Cells per Java di facile integrazione nella tua applicazione Java.

Come posso esportare i dati da JSON a Excel? L’API Aspose.Cells fornisce JsonUtility per esportare i dati da un file JSON a Excel in Java. Puoi trovare semplici passaggi nella sezione Esporta dati JSON in Excel in Java.

Come posso esportare i dati da CSV a Excel in Java? Puoi semplicemente caricare un file CSV e salvarlo come XLSX utilizzando l’API Aspose.Cells. Puoi trovare semplici passaggi nella sezione Ottieni dati CSV in Excel utilizzando Java.