La conversione da CSV a XLSX in Java è una necessità frequente quando le applicazioni devono scambiare dati con gli utenti di Excel. Il Aspose.HTML Cloud SDK for Java fornisce un’API cloud potente che gestisce questa trasformazione in modo efficiente. In questa guida vedrai come configurare la dipendenza Maven, leggere i dati CSV con gli stream, generare una cartella di lavoro XLSX e invocare la conversione tramite l’API REST. Alla fine avrai un esempio completo, pronto per la produzione, che potrai adattare ai tuoi progetti.
Prerequisiti e Configurazione
Prima di iniziare, assicurati di avere quanto segue:
- Java 17 o versioni successive installato.
- Un account Aspose Cloud con client ID e client secret.
- Maven installato per la gestione delle dipendenze.
Aggiungi Aspose.HTML Cloud SDK for Java al tuo progetto:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html-cloud</artifactId>
<version>23.12</version>
</dependency>
In alternativa, è possibile installare il pacchetto direttamente dalla riga di comando:
mvn install com.aspose:aspose-html-cloud
Scarica i binari SDK più recenti dalla pagina di download. Dopo che la dipendenza è stata risolta, sei pronto per iniziare a programmare. La sezione successiva ti guida attraverso l’implementazione passo dopo passo.
Conversione da CSV a XLSX in Java: Guida passo-passo
Passo 1: Carica il CSV di origine con Java Streams
Leggere il CSV riga per riga mantiene basso l’utilizzo della memoria, il che è essenziale per file di grandi dimensioni.
Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
Passo 2: Inizializza il client Aspose.HTML Cloud
Crea un’istanza client con le tue credenziali. La classe client è documentata nel riferimento API.
HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");
Passo 3: Converti il contenuto CSV in XLSX
L’SDK accetta i dati CSV come stringa e restituisce un flusso binario XLSX.
String csvContent = String.join("\n", csvLines);
ConvertDocumentRequest request = new ConvertDocumentRequest()
.outputFormat("xlsx")
.inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);
Passo 4: Salva il file XLSX risultante
Scrivi l’array di byte restituito su un file su disco.
Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);
Passo 5: Verifica la conversione (Opzionale)
Puoi aprire rapidamente il file generato con Apache POI o qualsiasi visualizzatore di fogli di calcolo per assicurarti che i dati siano formattati correttamente.
Esempio di codice completo: conversione da CSV a XLSX con Aspose.HTML Cloud SDK
Il programma seguente raccoglie tutti i passaggi in un’unica classe eseguibile.
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.ConvertDocumentRequest;
public class CsvToXlsxConverter {
public static void main(String[] args) throws Exception {
// 1. Load CSV file
Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
String csvContent = String.join("\n", csvLines);
// 2. Initialise Aspose.HTML Cloud client
HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");
// 3. Convert CSV to XLSX
ConvertDocumentRequest request = new ConvertDocumentRequest()
.outputFormat("xlsx")
.inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);
// 4. Save XLSX file
Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);
System.out.println("Conversion completed. XLSX saved to " + xlsxPath.toAbsolutePath());
}
}
Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (
input.csv,output.xlsx), verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se riscontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.
Utilizzare cURL per chiamare Aspose.HTML Cloud per la generazione di XLSX
La stessa conversione può essere eseguita tramite l’API REST. Di seguito sono riportati i comandi cURL richiesti.
- Autenticare e Ottenere il Token di Accesso
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
La risposta contiene un access_token che utilizzerai nelle chiamate successive.
- Carica il file CSV
curl -X POST "https://api.aspose.cloud/v4.0/html/storage/file/input.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@input.csv"
- Esegui la conversione
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?outputFormat=xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"input.csv"}' \
-o output.xlsx
- Scarica il file XLSX (se hai scelto una posizione di output diversa)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
Per un elenco completo di parametri, consulta la documentazione API ufficiale.
Considerazioni sulle prestazioni per la conversione di grandi CSV in XLSX
- Stream l’input CSV - Usa
Files.lineso un lettore bufferizzato per elaborare le righe una alla volta invece di caricare l’intero file in memoria. - Caricamenti in batch - Quando si gestiscono file più grandi di 100 MB, suddividi il CSV in blocchi più piccoli e converti ogni blocco separatamente, quindi unisci le parti XLSX risultanti se necessario.
- Abilita la conversione asincrona - Aggiungi il parametro di query
async=truealla richiesta di conversione per consentire al servizio cloud di elaborare il file in background, riducendo il tempo di attesa lato client. - Regola le impostazioni di output - Imposta il flag
preserveFormattingsufalsese non hai bisogno di stili di cell esatti; ciò riduce la dimensione del payload e velocizza la conversione.
Conclusione
Questa guida ha dimostrato come eseguire la conversione da CSV a XLSX in Java utilizzando l’Aspose.HTML Cloud SDK for Java. Hai imparato a configurare Maven, leggere i dati CSV con gli stream, chiamare l’API cloud e gestire file di grandi dimensioni in modo efficiente. Ricorda che è necessaria una licenza commerciale per l’uso in produzione; è possibile ottenere una licenza temporanea dalla pagina della licenza temporanea e consultare le opzioni di prezzo complete nella pagina del prodotto. Con questi strumenti a disposizione, puoi integrare una funzionalità di conversione CSV‑to‑XLSX senza interruzioni in qualsiasi applicazione Java.
FAQs
-
Qual è il modo migliore per gestire i file CSV che contengono virgole all’interno di campi tra virgolette?
Utilizzare un parser CSV robusto come Apache Commons CSV prima di passare i dati all’API di conversione. Il parser rispetta i delimitatori tra virgolette, garantendo un’estrazione accurata delle righe. -
Il SDK Aspose.HTML Cloud supporta l’output XLSX senza un passaggio intermedio di HTML ?
Sì. Il metodoconvertDocumentpuò accettare contenuto CSV grezzo e produrre direttamente un file XLSX, come mostrato negli esempi di codice. -
Posso eseguire la conversione localmente senza utilizzare il cloud?
L’Aspose.HTML Cloud SDK è un servizio basato sul cloud, quindi è necessaria una connessione a Internet e credenziali valide. Per scenari on‑premise, considerare Aspose.Cells, che è un prodotto separato. -
Come monitorare lo stato di una richiesta di conversione asincrona?
L’API restituisce un ID lavoro quandoasync=trueè usato. Interroga l’endpoint/jobs/{jobId}per verificare lo stato, quindi scarica il risultato una volta completato il lavoro.