Converter dados do Excel para CSV é uma necessidade frequente ao construir pipelines de dados, ferramentas de relatório ou recursos de importação/exportação. Aspose.BarCode Cloud SDK for Node.js oferece uma biblioteca robusta que torna a conversão de XLS para CSV no Node.JS simples e confiável. Este guia orienta você pelos pré‑requisitos, etapas de instalação, um exemplo completo em funcionamento e dicas de boas práticas, para que possa integrar a conversão em sua aplicação com confiança.

Exemplo Completo de Funcionamento para Conversão de XLS para CSV em Node.JS usando Aspose.BarCode

Este exemplo demonstra como ler uma pasta de trabalho XLS a partir do armazenamento em nuvem, converter cada planilha para CSV e transmitir o resultado de volta ao cliente.

// 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: Este exemplo de código demonstra a funcionalidade principal. Antes de usá-lo em seu projeto, certifique-se de atualizar os caminhos dos arquivos (sample.xls, output), verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Conversão de XLS para CSV via API Cloud com cURL

Você pode realizar a mesma conversão sem escrever código usando cURL para chamar os endpoints REST. O fluxo consiste em autenticação, upload de arquivo, solicitação de conversão 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"

Para mais detalhes sobre os parâmetros da solicitação, veja a documentação oficial da API.

Como a Conversão de XLS para CSV em Node.JS Funciona

  1. Configuração - Um objeto Configuration contém suas credenciais de cliente e a URL base opcional. Esse objeto é passado para a instância BarcodeApi.
    const config = new Configuration({ clientId, clientSecret });
    const apiInstance = new BarcodeApi(config);
    
  2. Upload de Arquivo - O método uploadFile envia o arquivo XLS local para o armazenamento em nuvem Aspose.BarCode, tornando-o disponível para conversão.
    await apiInstance.uploadFile({ path: inputFile, file: fileData });
    
  3. Chamada de Conversão - convertDocument (hipotético) envia uma solicitação com o nome do arquivo de origem, o formato de destino (csv) e opções de conversão como delimitador e codificação. O serviço processa cada planilha e cria os arquivos CSV correspondentes.
    const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options });
    
  4. Recuperação de Resultados - Após a conversão, getFilesList lista os arquivos CSV gerados na pasta de saída. Cada arquivo é então baixado com downloadFile e salvo localmente.
    const files = await apiInstance.getFilesList({ path: outputFolder });
    const csvData = await apiInstance.downloadFile({ path: csvPath });
    
  5. Tratamento de Erros - Qualquer erro da API é capturado no bloco catch, onde você pode registrar detalhes ou implementar lógica de repetição. Para uma lista completa de códigos de erro, consulte a referência da API.

Preparação do Ambiente - Pré-requisitos e Configuração

Antes de começar, certifique‑se de que os seguintes pré-requisitos sejam atendidos:

  • Node.js 14 ou superior instalado na sua máquina de desenvolvimento.
  • Uma conta Aspose Cloud com credenciais de cliente válidas (Client ID e Client Secret).
  • Acesso à internet para chamadas de API.

Instale a biblioteca via npm e vincule a página de download para referência:

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

Após a instalação, crie um arquivo de configuração (por exemplo, config.json) para armazenar suas credenciais com segurança.

Parâmetros de Conversão: Opções e Configurações

A API de conversão aceita vários parâmetros opcionais que permitem ajustar finamente a saída:

  • delimiter - Escolha um caractere para separar os campos (padrão é ,).
    options.delimiter = "\t"; // Tab‑delimited CSV
    
  • encoding - Defina a codificação de caracteres para o arquivo CSV (por exemplo, UTF-8, ISO-8859-1).
    options.encoding = "UTF-8";
    
  • outPath - Especifique uma pasta na nuvem onde os arquivos CSV serão armazenados.
    options.outPath = "converted";
    
  • storage - Selecione o nome do armazenamento se você usar um serviço de armazenamento personalizado.
    options.storage = "MyCustomStorage";
    

Para obter uma lista completa de opções suportadas, veja a referência da API.

Dicas Práticas para Conversão Eficiente de XLS para CSV

  • Transmitir Arquivos Grandes - Ative o modo de streaming para processar linhas em blocos e evitar alto consumo de memória.
  • Usar uma Pasta Temporária - Grave arquivos CSV intermediários em uma pasta dedicada na nuvem e limpe-a após o download.
  • Definir um Delimitador Apropriado - Se seus dados contiverem vírgulas, altere para um delimitador de tabulação ou pipe para evitar desalinhamento de colunas.
  • Validar Após o Download - Verifique as primeiras linhas do CSV para garantir a codificação correta e o uso adequado do delimitador antes de prosseguir com o processamento.

Conclusão

A conversão de XLS para CSV em Node.JS torna‑se simples quando você aproveita os recursos do Aspose.BarCode Cloud SDK for Node.js. Este guia cobriu tudo, desde a configuração do ambiente e um exemplo completo em funcionamento até opções de configuração e práticas recomendadas orientadas ao desempenho. Lembre‑se de proteger suas credenciais de cliente, escolher streaming para pastas de trabalho grandes e limpar arquivos temporários para manter seu armazenamento em nuvem organizado. Para implantações em produção, você precisará de uma licença paga; você pode revisar os preços na página do produto e obter uma licença de avaliação temporária na página de licença temporária.

Perguntas Frequentes

Como a conversão de XLS para CSV no Node.JS lida com várias planilhas?
A biblioteca processa cada planilha sequencialmente, gerando um arquivo CSV separado para cada folha. Você pode mesclá-los posteriormente se for necessário um único CSV. Consulte o Aspose.BarCode Cloud SDK for Node.js para uso detalhado.

Posso transmitir arquivos XLS grandes para CSV sem carregar toda a pasta de trabalho na memória?
Sim. Ao habilitar a opção de streaming nos parâmetros de conversão, a API lê linhas em blocos gerenciáveis, mantendo o uso de memória baixo e o desempenho alto.

Qual licença é necessária para usar o Aspose.BarCode Cloud SDK for Node.js em produção?
É necessária uma licença comercial para uso em produção. As opções de compra estão listadas na página de preços do produto, e você pode solicitar uma licença de avaliação temporária na página de licença temporária.

É possível personalizar o delimitador CSV durante a conversão?
Com certeza. Defina a opção delimiter nos parâmetros de conversão para qualquer caractere que você precisar, como uma tabulação (\t) ou barra vertical (|). Isso garante que o CSV gerado corresponda às expectativas de processamento subsequente.

Leia Mais