La conversione dei dati Excel in CSV è una esigenza frequente quando si costruiscono pipeline di dati, strumenti di reporting o funzionalità di import/export. Aspose.BarCode Cloud SDK for Node.js fornisce una libreria robusta che rende la conversione da XLS a CSV in Node.JS semplice e affidabile. Questa guida ti accompagna attraverso i prerequisiti, i passaggi di installazione, un esempio completo funzionante e consigli di best‑practice, così potrai integrare la conversione nella tua applicazione con fiducia.

Esempio completo funzionante per la conversione da XLS a CSV in Node.JS usando Aspose.BarCode

Questo esempio dimostra come leggere una cartella di lavoro XLS dall’archiviazione cloud, convertire ogni foglio di lavoro in CSV e trasmettere il risultato al 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);
    }
})();

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (sample.xls, output), verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nell’ambiente di sviluppo. Se riscontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

XLS to CSV Conversion via Cloud API with cURL

Puoi eseguire la stessa conversione senza scrivere codice utilizzando cURL per chiamare gli endpoint REST. Il flusso consiste in autenticazione, caricamento del file, richiesta di conversione e download.

# 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"

Per ulteriori dettagli sui parametri della richiesta, consulta la documentazione API ufficiale.

Come funziona la conversione da XLS a CSV in Node.JS

  1. Configurazione - Un oggetto Configuration contiene le credenziali del client e l’URL base opzionale. Questo oggetto viene passato all’istanza BarcodeApi.
    const config = new Configuration({ clientId, clientSecret });
    const apiInstance = new BarcodeApi(config);
    
  2. Caricamento file - Il metodo uploadFile trasmette in streaming il file XLS locale allo storage cloud di Aspose.BarCode, rendendolo disponibile per la conversione.
    await apiInstance.uploadFile({ path: inputFile, file: fileData });
    
  3. Chiamata di conversione - convertDocument (ipotetico) invia una richiesta con il nome del file sorgente, il formato di destinazione (csv) e le opzioni di conversione come delimitatore e codifica. Il servizio elabora ogni foglio di lavoro e crea i file CSV corrispondenti.
    const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options });
    
  4. Recupero del risultato - Dopo la conversione, getFilesList elenca i file CSV generati nella cartella di output. Ogni file viene quindi scaricato con downloadFile e salvato localmente.
    const files = await apiInstance.getFilesList({ path: outputFolder });
    const csvData = await apiInstance.downloadFile({ path: csvPath });
    
  5. Gestione degli errori - Qualsiasi errore API viene catturato nel blocco catch, dove è possibile registrare i dettagli o implementare una logica di retry. Per un elenco completo dei codici di errore, fare riferimento al riferimento API.

Preparazione dell’ambiente - Prerequisiti e configurazione

Prima di iniziare, assicurati che i seguenti prerequisiti siano soddisfatti:

  • Node.js 14 o versioni successive installato sulla tua macchina di sviluppo.
  • Un account Aspose Cloud con credenziali client valide (Client ID e Client Secret).
  • Accesso a Internet per le chiamate API.

Installa la libreria tramite npm e collega la pagina di download per riferimento:

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

Dopo l’installazione, crea un file di configurazione (ad es., config.json) per memorizzare le tue credenziali in modo sicuro.

Parametri di conversione: Opzioni e impostazioni

L’API di conversione accetta diversi parametri opzionali che consentono di perfezionare l’output:

  • delimiter - Scegli un carattere per separare i campi (il valore predefinito è ,).
    options.delimiter = "\t"; // CSV delimitato da tabulazione
    
  • encoding - Definisci la codifica dei caratteri per il file CSV (ad es., UTF-8, ISO-8859-1).
    options.encoding = "UTF-8";
    
  • outPath - Specifica una cartella cloud dove verranno archiviati i file CSV.
    options.outPath = "converted";
    
  • storage - Seleziona il nome dello storage se utilizzi un servizio di storage personalizzato.
    options.storage = "MyCustomStorage";
    

Per un elenco completo delle opzioni supportate, consulta il riferimento API.

Suggerimenti pratici per una conversione efficiente da XLS a CSV

  • Stream di file di grandi dimensioni - Abilita la modalità streaming per elaborare le righe a blocchi ed evitare un elevato consumo di memoria.
  • Usa una cartella temporanea - Scrivi i file CSV intermedi in una cartella cloud dedicata e rimuovila dopo il download.
  • Imposta un delimitatore appropriato - Se i tuoi dati contengono virgole, passa a un delimitatore a tabulazione o pipe per evitare l’allineamento errato delle colonne.
  • Convalida dopo il download - Controlla le prime righe del CSV per garantire la corretta codifica e l’uso del delimitatore prima di ulteriori elaborazioni.

Conclusione

La conversione da XLS a CSV in Node.JS diventa semplice quando sfrutti le funzionalità dell’Aspose.BarCode Cloud SDK for Node.js. Questa guida ha coperto tutto, dall’impostazione dell’ambiente e un esempio completo di funzionamento alle opzioni di configurazione e alle migliori pratiche orientate alle prestazioni. Ricorda di proteggere le credenziali del client, di scegliere lo streaming per cartelle di lavoro di grandi dimensioni e di eliminare i file temporanei per mantenere ordinato lo spazio di archiviazione cloud. Per le distribuzioni in produzione è necessaria una licenza a pagamento; puoi consultare i prezzi nella pagina del prodotto e ottenere una licenza di valutazione temporanea dalla pagina della licenza temporanea.

FAQ

Come gestisce la conversione da XLS a CSV in Node.JS più fogli di lavoro?
La libreria elabora ogni foglio di lavoro in sequenza, generando un file CSV separato per ciascun foglio. È possibile unirli successivamente se è richiesto un unico CSV. Consulta il Aspose.BarCode Cloud SDK for Node.js per un utilizzo dettagliato.

Posso eseguire lo streaming di file XLS di grandi dimensioni in CSV senza caricare l’intero workbook in memoria?
Sì. Abilitando l’opzione di streaming nei parametri di conversione, l’API legge le righe in blocchi gestibili, mantenendo basso l’utilizzo della memoria e alte le prestazioni.

Quale licenza è necessaria per utilizzare Aspose.BarCode Cloud SDK per Node.js in produzione?
È necessaria una licenza commerciale per l’uso in produzione. Le opzioni di acquisto sono elencate nella pagina dei prezzi del prodotto e puoi richiedere una licenza di valutazione temporanea dalla pagina della licenza temporanea.

È possibile personalizzare il delimitatore CSV durante la conversione?
Assolutamente. Imposta l’opzione delimiter nei parametri di conversione su qualsiasi carattere tu abbia bisogno, come una tabulazione (\t) o una barra verticale (|). Questo garantisce che il CSV generato corrisponda alle tue aspettative di elaborazione a valle.

Leggi di più