La conversion des données Excel en CSV est une exigence fréquente lors de la création de pipelines de données, d’outils de reporting ou de fonctionnalités d’import/export. Le Aspose.BarCode Cloud SDK for Node.js fournit une bibliothèque robuste qui rend la conversion de XLS en CSV dans Node.JS simple et fiable. Ce guide vous accompagne à travers les prérequis, les étapes d’installation, un exemple complet fonctionnel et des conseils de bonnes pratiques afin que vous puissiez intégrer la conversion dans votre application en toute confiance.

Exemple complet fonctionnel de conversion XLS en CSV avec Node.JS utilisant Aspose.BarCode

Cet exemple montre comment lire un classeur XLS depuis le stockage cloud, convertir chaque feuille de calcul en CSV et diffuser le résultat vers le client.

// Full working code for XLS to CSV conversion using Aspose.BarCode Cloud SDK

const { BarcodeApi, Configuration } = require('aspose-barcode-cloud');
const fs = require('fs');
const path = require('path');

// ==== Configuration ====
const config = new Configuration({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET",
    // Optional: set a custom base URL if you use a private cloud
    // baseUrl: "https://api.aspose.cloud"
});

const apiInstance = new BarcodeApi(config);

// ==== Input / Output Paths ====
const inputFile = "sample.xls";               // Path to your local XLS file
const outputFolder = "output";                // Cloud folder for CSV files

// ---- 1. Upload XLS to cloud storage ----
async function uploadFile() {
    const fileData = fs.readFileSync(inputFile);
    await apiInstance.uploadFile({ path: inputFile, file: fileData });
    console.log(`Uploaded ${inputFile} to cloud storage.`);
}

// ---- 2. Convert XLS to CSV ----
async function convertXlsToCsv() {
    // Conversion options
    const options = {
        storage: "Default",               // Use default storage
        outPath: outputFolder,            // Destination folder
        format: "CSV",                    // Target format
        // Optional: delimiter, encoding, etc.
        delimiter: ",",
        encoding: "UTF-8"
    };

// Call the conversion endpoint (hypothetical method)
    const response = await apiInstance.convertDocument({
        name: inputFile,
        format: "csv",
        options: options
    });

console.log(`Conversion started. Check ${outputFolder} for CSV files.`);
    return response;
}

// ---- 3. Download generated CSV files ----
async function downloadCsvFiles() {
    const files = await apiInstance.getFilesList({ path: outputFolder });
    for (const file of files.value) {
        if (file.name.endsWith(".csv")) {
            const csvData = await apiInstance.downloadFile({ path: `${outputFolder}/${file.name}` });
            const localPath = path.join(__dirname, "result", file.name);
            fs.mkdirSync(path.dirname(localPath), { recursive: true });
            fs.writeFileSync(localPath, csvData.body);
            console.log(`Downloaded ${file.name} to ${localPath}`);
        }
    }
}

// ==== Execution Flow ====
(async () => {
    try {
        await uploadFile();
        await convertXlsToCsv();
        await downloadCsvFiles();
        console.log("XLS to CSV conversion completed successfully.");
    } catch (error) {
        console.error("Error during conversion:", error);
    }
})();

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 (sample.xls, output), vérifiez que toutes les dépendances requises sont correctement installées et testez 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.

Conversion XLS en CSV via l’API Cloud avec cURL

Vous pouvez effectuer la même conversion sans écrire de code en utilisant cURL pour appeler les points de terminaison REST. Le flux comprend l’authentification, le téléchargement du fichier, la demande de conversion et le téléchargement.

# 1. Get an access token
curl -X POST "https://api.aspose.cloud/connect/token" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET" \
     -H "Content-Type: application/x-www-form-urlencoded"
# Response contains "access_token"

# 2. Upload the XLS file
curl -X PUT "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.xls" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -T "sample.xls"

# 3. Request XLS to CSV conversion
curl -X POST "https://api.aspose.cloud/v3.0/barcode/convert/sample.xls?format=csv&outPath=output" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

# 4. Download the generated CSV file
curl -X GET "https://api.aspose.cloud/v3.0/barcode/storage/file/output/sample.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -o "sample.csv"

Pour plus de détails sur les paramètres de la requête, consultez la documentation officielle de l’API.

Comment la conversion XLS en CSV fonctionne en Node.JS

  1. Configuration - Un objet Configuration contient vos identifiants client et une URL de base facultative. Cet objet est transmis à l’instance BarcodeApi.
    const config = new Configuration({ clientId, clientSecret });
    const apiInstance = new BarcodeApi(config);
    
  2. Téléchargement de fichier - La méthode uploadFile transmet le fichier XLS local au stockage cloud Aspose.BarCode, le rendant disponible pour la conversion.
    await apiInstance.uploadFile({ path: inputFile, file: fileData });
    
  3. Appel de conversion - convertDocument (hypothétique) envoie une requête contenant le nom du fichier source, le format cible (csv) et les options de conversion telles que le délimiteur et l’encodage. Le service traite chaque feuille de calcul et crée les fichiers CSV correspondants.
    const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options });
    
  4. Récupération du résultat - Après la conversion, getFilesList répertorie les fichiers CSV générés dans le dossier de sortie. Chaque fichier est ensuite téléchargé avec downloadFile et enregistré localement.
    const files = await apiInstance.getFilesList({ path: outputFolder });
    const csvData = await apiInstance.downloadFile({ path: csvPath });
    
  5. Gestion des erreurs - Toute erreur d’API est interceptée dans le bloc catch, où vous pouvez consigner les détails ou mettre en œuvre une logique de nouvelle tentative. Pour une liste complète des codes d’erreur, consultez la référence API.

Préparation de l’environnement - Prérequis et configuration

Avant de commencer, assurez‑vous que les prérequis suivants sont remplis :

  • Node.js 14 ou supérieur installé sur votre machine de développement.
  • Un compte Aspose Cloud avec des informations d’identification client valides (Client ID et Client Secret).
  • Accès à Internet pour les appels d’API.

Installez la bibliothèque via npm et liez la page de téléchargement pour référence:

npm install aspose-barcode-cloud
# Download package details: https://releases.aspose.cloud/barcode/nodejs/

Après l’installation, créez un fichier de configuration (par exemple, config.json) pour stocker vos informations d’identification en toute sécurité.

Paramètres de conversion : Options et réglages

L’API de conversion accepte plusieurs paramètres optionnels qui vous permettent d’affiner la sortie :

  • delimiter - Choisissez un caractère pour séparer les champs (par défaut est ,).
    options.delimiter = "\t"; // Tab‑delimited CSV
    
  • encoding - Définissez l’encodage des caractères pour le fichier CSV (par ex., UTF-8, ISO-8859-1).
    options.encoding = "UTF-8";
    
  • outPath - Spécifiez un dossier cloud où les fichiers CSV seront stockés.
    options.outPath = "converted";
    
  • storage - Sélectionnez le nom du stockage si vous utilisez un service de stockage personnalisé.
    options.storage = "MyCustomStorage";
    

Pour une liste complète des options prises en charge, consultez la référence API.

Conseils pratiques pour une conversion efficace de XLS en CSV

  • Diffuser de gros fichiers - Activez le mode de diffusion pour traiter les lignes par lots et éviter une consommation élevée de mémoire.
  • Utiliser un dossier temporaire - Écrivez les fichiers CSV intermédiaires dans un dossier cloud dédié et nettoyez-le après le téléchargement.
  • Définir un délimiteur approprié - Si vos données contiennent des virgules, passez à un délimiteur tabulation ou pipe pour éviter le mauvais alignement des colonnes.
  • Valider après le téléchargement - Vérifiez les premières lignes du CSV pour vous assurer du bon encodage et de l’utilisation du délimiteur avant tout traitement supplémentaire.

Conclusion

La conversion XLS en CSV sous Node.JS devient simple lorsque vous exploitez les capacités du Aspose.BarCode Cloud SDK for Node.js. Ce guide a couvert tout, de la configuration de l’environnement et d’un exemple complet fonctionnel aux options de configuration et aux meilleures pratiques axées sur les performances. N’oubliez pas de sécuriser vos identifiants client, de choisir le streaming pour les classeurs volumineux et de nettoyer les fichiers temporaires afin de garder votre stockage cloud ordonné. Pour les déploiements en production, vous aurez besoin d’une licence payante ; vous pouvez consulter les tarifs sur la page du produit et obtenir une licence d’évaluation temporaire depuis la page de licence temporaire.

FAQ

Comment la conversion XLS en CSV dans Node.JS gère-t-elle plusieurs feuilles de calcul ?
La bibliothèque traite chaque feuille de calcul séquentiellement, générant un fichier CSV distinct pour chaque feuille. Vous pouvez les fusionner ultérieurement si un seul CSV est requis. Reportez‑vous au Aspose.BarCode Cloud SDK for Node.js pour un usage détaillé.

Puis-je diffuser de gros fichiers XLS vers CSV sans charger l’intégralité du classeur en mémoire ?
Oui. En activant l’option de diffusion dans les paramètres de conversion, l’API lit les lignes par blocs gérables, maintenant une faible utilisation de la mémoire et des performances élevées.

Quel type de licence est requis pour utiliser Aspose.BarCode Cloud SDK for Node.js en production ?
Une licence commerciale est requise pour une utilisation en production. Les options d’achat sont répertoriées sur la page de tarification du produit, et vous pouvez demander une licence d’évaluation temporaire depuis la page de licence temporaire.

Est-il possible de personnaliser le délimiteur CSV lors de la conversion ?
Absolument. Définissez l’option delimiter dans les paramètres de conversion sur le caractère dont vous avez besoin, comme une tabulation (\t) ou un pipe (|). Cela garantit que le CSV généré correspond à vos attentes de traitement en aval.

En savoir plus