La conversión de datos de Excel a CSV es un requisito frecuente al crear canalizaciones de datos, herramientas de informes o funcionalidades de importación/exportación. Aspose.BarCode Cloud SDK for Node.js ofrece una biblioteca robusta que hace que la conversión de XLS a CSV en Node.JS sea simple y fiable. Esta guía le guía a través de los requisitos previos, los pasos de instalación, un ejemplo completo y funcional, y consejos de mejores prácticas para que pueda integrar la conversión en su aplicación con confianza.

Ejemplo completo y funcional para la conversión de XLS a CSV en Node.JS usando Aspose.BarCode

Este ejemplo muestra cómo leer un libro de trabajo XLS desde el almacenamiento en la nube, convertir cada hoja de cálculo a CSV y transmitir el resultado de vuelta al 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 ejemplo de código muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de los archivos (sample.xls, output), verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.

Conversión de XLS a CSV mediante Cloud API con cURL

Puede realizar la misma conversión sin escribir código utilizando cURL para llamar a los endpoints REST. El flujo consta de autenticación, carga de archivo, solicitud de conversión y descarga.

# 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 obtener más detalles sobre los parámetros de la solicitud, consulte la documentación oficial de la API.

Cómo funciona la conversión de XLS a CSV en Node.JS

  1. Configuration Setup - Un objeto Configuration contiene tus credenciales de cliente y una URL base opcional. Este objeto se pasa a la instancia de BarcodeApi.
    const config = new Configuration({ clientId, clientSecret });
    const apiInstance = new BarcodeApi(config);
    
  2. File Upload - El método uploadFile envía el archivo XLS local al almacenamiento en la nube de Aspose.BarCode, dejándolo disponible para la conversión.
    await apiInstance.uploadFile({ path: inputFile, file: fileData });
    
  3. Conversion Call - convertDocument (hipotético) envía una solicitud con el nombre del archivo de origen, el formato de destino (csv) y opciones de conversión como delimitador y codificación. El servicio procesa cada hoja de cálculo y crea los archivos CSV correspondientes.
    const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options });
    
  4. Result Retrieval - Después de la conversión, getFilesList enumera los archivos CSV generados en la carpeta de salida. Cada archivo se descarga con downloadFile y se guarda localmente.
    const files = await apiInstance.getFilesList({ path: outputFolder });
    const csvData = await apiInstance.downloadFile({ path: csvPath });
    
  5. Error Handling - Cualquier error de la API se captura en el bloque catch, donde puedes registrar los detalles o implementar lógica de reintento. Para obtener una lista completa de códigos de error, consulta la API reference.

Preparación del entorno - Requisitos previos y configuración

Antes de comenzar, asegúrese de que se cumplan los siguientes requisitos:

  • Node.js 14 o superior instalado en su máquina de desarrollo.
  • Una cuenta Aspose Cloud con credenciales de cliente válidas (Client ID y Client Secret).
  • Acceso a Internet para llamadas a la API.

Instala la biblioteca mediante npm y enlaza la página de descarga para referencia:

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

Después de la instalación, cree un archivo de configuración (p. ej., config.json) para almacenar sus credenciales de forma segura.

Parámetros de conversión: Opciones y configuraciones

La API de conversión acepta varios parámetros opcionales que le permiten afinar la salida:

  • delimiter - Elija un carácter para separar los campos (el predeterminado es ,).
    options.delimiter = "\t"; // Tab‑delimited CSV
    
  • encoding - Defina la codificación de caracteres para el archivo CSV (p. ej., UTF-8, ISO-8859-1).
    options.encoding = "UTF-8";
    
  • outPath - Especifique una carpeta en la nube donde se almacenarán los archivos CSV.
    options.outPath = "converted";
    
  • storage - Seleccione el nombre del almacenamiento si utiliza un servicio de almacenamiento personalizado.
    options.storage = "MyCustomStorage";
    

Para obtener una lista completa de las opciones compatibles, consulte la referencia de API.

Consejos prácticos para una conversión eficiente de XLS a CSV

  • Transmitir archivos grandes - Habilite el modo de transmisión para procesar filas en bloques y evitar un alto consumo de memoria.
  • Usar una carpeta temporal - Escriba archivos CSV intermedios en una carpeta de nube dedicada y elimínela después de la descarga.
  • Establecer un delimitador apropiado - Si sus datos contienen comas, cambie a un delimitador de tabulación o barra vertical para evitar desalineación de columnas.
  • Validar después de la descarga - Verifique las primeras filas del CSV para asegurar la codificación y el uso del delimitador correctos antes de continuar con el procesamiento.

Conclusión

La conversión de XLS a CSV en Node.JS se vuelve sencilla cuando aprovechas las capacidades del Aspose.BarCode Cloud SDK for Node.js. Esta guía cubrió todo, desde la configuración del entorno y un ejemplo completo funcional hasta opciones de configuración y mejores prácticas orientadas al rendimiento. Recuerda asegurar tus credenciales de cliente, elegir streaming para libros de trabajo grandes y limpiar los archivos temporales para mantener tu almacenamiento en la nube ordenado. Para implementaciones en producción necesitarás una licencia de pago; puedes revisar los precios en la página del producto y obtener una licencia de evaluación temporal desde la página de licencia temporal.

Preguntas frecuentes

¿Cómo maneja la conversión de XLS a CSV en Node.JS múltiples hojas de cálculo?
La biblioteca procesa cada hoja de cálculo secuencialmente, generando un archivo CSV separado para cada hoja. Puede combinarlos más tarde si se requiere un solo CSV. Consulte el Aspose.BarCode Cloud SDK for Node.js para obtener información detallada.

¿Puedo transmitir archivos XLS grandes a CSV sin cargar todo el libro de trabajo en memoria?
Sí. Al habilitar la opción de transmisión en los parámetros de conversión, la API lee filas en fragmentos manejables, manteniendo bajo el uso de memoria y alto el rendimiento.

¿Qué licencia se requiere para usar Aspose.BarCode Cloud SDK for Node.js en producción?
Se requiere una licencia comercial para uso en producción. Las opciones de compra se enumeran en la página de precios del producto, y puede solicitar una licencia de evaluación temporal desde la página de licencia temporal.

¿Es posible personalizar el delimitador CSV durante la conversión?
Absolutamente. Establezca la opción delimiter en los parámetros de conversión a cualquier carácter que necesite, como una tabulación (\t) o una barra vertical (|). Esto garantiza que el CSV generado coincida con las expectativas de procesamiento posteriores.

Leer más