CSV vers XLSX conversion en Java est une exigence fréquente lorsque les applications doivent échanger des données avec les utilisateurs d’Excel. Le Aspose.HTML Cloud SDK for Java fournit une API cloud puissante qui gère cette transformation efficacement. Dans ce guide, vous verrez comment configurer la dépendance Maven, lire les données CSV avec des flux, générer un classeur XLSX et invoquer la conversion via l’API REST. À la fin, vous disposerez d’un exemple complet, prêt pour la production, que vous pourrez adapter à vos propres projets.

Prérequis et configuration

Avant de commencer, assurez‑vous d’avoir ce qui suit :

  • Java 17 ou version ultérieure installé.
  • Un compte Aspose Cloud avec ID client et secret client.
  • Maven installé pour la gestion des dépendances.

Ajoutez le Aspose.HTML Cloud SDK for Java à votre projet :

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-html-cloud</artifactId>
    <version>23.12</version>
</dependency>

Alternativement, vous pouvez installer le package directement depuis la ligne de commande :

mvn install com.aspose:aspose-html-cloud

Téléchargez les dernières binaires du SDK depuis la page de téléchargement. Une fois la dépendance résolue, vous êtes prêt à commencer à coder. La section suivante vous guide à travers l’implémentation étape par étape.

Conversion de CSV en XLSX avec Java : Guide étape par étape

Étape 1 : Charger le CSV source à l’aide de flux Java

Lire le CSV ligne par ligne maintient une faible utilisation de la mémoire, ce qui est essentiel pour les gros fichiers.

Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);

Étape 2 : Initialiser le client cloud Aspose.HTML

Créez une instance client avec vos informations d’identification. La classe client est documentée dans la référence API.

HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");

Étape 3 : Convertir le contenu CSV en XLSX

Le SDK accepte les données CSV sous forme de chaîne et renvoie un flux binaire XLSX.

String csvContent = String.join("\n", csvLines);
ConvertDocumentRequest request = new ConvertDocumentRequest()
        .outputFormat("xlsx")
        .inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);

Étape 4 : Enregistrer le fichier XLSX résultant

Écrivez le tableau d’octets retourné dans un fichier sur le disque.

Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);

Étape 5 : Vérifier la conversion (facultatif)

Vous pouvez rapidement ouvrir le fichier généré avec Apache POI ou tout visualiseur de feuilles de calcul pour vous assurer que les données sont correctement formatées.

Exemple complet de code : conversion CSV en XLSX avec Aspose.HTML Cloud SDK

Le programme suivant regroupe toutes les étapes en une seule classe exécutable.

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

Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour les chemins de fichiers (input.csv, output.xlsx), de vérifier que toutes les dépendances requises sont correctement installées et de tester soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.

Utilisation de cURL pour appeler Aspose.HTML Cloud pour la génération de XLSX

La même conversion peut être effectuée via l’API REST. Vous trouverez ci-dessous les commandes cURL requises.

  1. Authentifier et obtenir le jeton d’accès
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 réponse contient un access_token que vous utiliserez dans les appels suivants.

  1. Téléverser le fichier 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"
  1. Exécuter la conversion
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
  1. Télécharger le fichier XLSX (si vous avez choisi un autre emplacement de sortie)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

Pour une liste complète des paramètres, consultez la documentation officielle de l’API.

Considérations de performance pour les conversions CSV vers XLSX de grande taille

  • Diffuser l’entrée CSV - Utilisez Files.lines ou un lecteur tamponné pour traiter les lignes une à une au lieu de charger le fichier complet en mémoire.
  • Téléversements par lots - Lors du traitement de fichiers de plus de 100 Mo, divisez le CSV en morceaux plus petits et convertissez chaque morceau séparément, puis fusionnez les parties XLSX résultantes si nécessaire.
  • Activer la conversion asynchrone - Ajoutez le paramètre de requête async=true à la demande de conversion pour permettre au service cloud de traiter le fichier en arrière-plan, réduisant ainsi le temps d’attente côté client.
  • Ajuster les paramètres de sortie - Définissez le drapeau preserveFormatting sur false si vous n’avez pas besoin des styles de cellule exacts ; cela réduit la taille de la charge utile et accélère la conversion.

Conclusion

Ce guide a démontré comment effectuer la conversion CSV vers XLSX en Java en utilisant le Aspose.HTML Cloud SDK for Java. Vous avez appris à configurer Maven, lire les données CSV avec des flux, appeler l’API cloud et gérer efficacement les gros fichiers. N’oubliez pas qu’une licence commerciale est requise pour une utilisation en production ; vous pouvez obtenir une licence temporaire depuis la page de licence temporaire et consulter les options de tarification complètes sur la page du produit. Avec ces outils, vous pouvez intégrer une fonctionnalité de conversion CSV‑vers‑XLSX transparente dans n’importe quelle application Java.

FAQs

  • Quelle est la meilleure façon de gérer les fichiers CSV contenant des virgules à l’intérieur des champs entre guillemets ?
    Utilisez un analyseur CSV robuste tel qu’Apache Commons CSV avant de transmettre les données à l’API de conversion. L’analyseur respecte les délimiteurs entre guillemets, garantissant une extraction précise des lignes.

  • Le SDK Aspose.HTML Cloud prend-il en charge la sortie XLSX sans une étape intermédiaire HTML ?
    Oui. La méthode convertDocument peut accepter du contenu CSV brut et produire directement un fichier XLSX, comme le montrent les exemples de code.

  • Puis-je exécuter la conversion localement sans utiliser le cloud ?
    Le SDK Aspose.HTML Cloud est un service basé sur le cloud, donc une connexion Internet et des informations d’identification valides sont requises. Pour les scénarios sur site, envisagez Aspose.Cells, qui est un produit distinct.

  • Comment puis-je surveiller l’état d’une demande de conversion asynchrone ?
    L’API renvoie un ID de travail lorsque async=true est utilisé. Interrogez le point de terminaison /jobs/{jobId} pour vérifier l’état, puis téléchargez le résultat une fois le travail terminé.

En savoir plus