Chuyển đổi dữ liệu Excel sang CSV là một yêu cầu thường gặp khi xây dựng các pipeline dữ liệu, công cụ báo cáo, hoặc tính năng nhập/xuất. Aspose.BarCode Cloud SDK for Node.js cung cấp một thư viện mạnh mẽ giúp việc chuyển đổi XLS sang CSV trong Node.JS trở nên đơn giản và đáng tin cậy. Hướng dẫn này sẽ đưa bạn qua các yêu cầu trước, các bước cài đặt, một ví dụ hoạt động đầy đủ, và các mẹo thực hành tốt nhất để bạn có thể tích hợp chuyển đổi này vào ứng dụng của mình một cách tự tin.

Ví dụ Hoạt động Đầy đủ cho Chuyển đổi XLS sang CSV trong Node.JS sử dụng Aspose.BarCode

Ví dụ này minh họa cách đọc một workbook XLS từ lưu trữ đám mây, chuyển đổi mỗi worksheet sang CSV và truyền luồng kết quả trở lại cho 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);
    }
})();

Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp (sample.xls, output), xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển của bạn. Nếu gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Chuyển đổi XLS sang CSV qua Cloud API với cURL

Bạn có thể thực hiện chuyển đổi tương tự mà không cần viết mã bằng cách sử dụng cURL để gọi các endpoint REST. Quy trình bao gồm xác thực, tải lên tệp, yêu cầu chuyển đổi và tải xuống.

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

Để biết thêm chi tiết về các tham số yêu cầu, xem tài liệu API chính thức.

Cách chuyển đổi XLS sang CSV trong Node.JS hoạt động

  1. Cấu hình - Một đối tượng Configuration chứa thông tin xác thực client và tùy chọn URL cơ sở. Đối tượng này được truyền cho thể hiện BarcodeApi.
    const config = new Configuration({ clientId, clientSecret });
    const apiInstance = new BarcodeApi(config);
    
  2. Tải lên tệp - Phương thức uploadFile truyền luồng tệp XLS cục bộ lên lưu trữ đám mây Aspose.BarCode, làm cho nó sẵn sàng cho việc chuyển đổi.
    await apiInstance.uploadFile({ path: inputFile, file: fileData });
    
  3. Gọi chuyển đổi - convertDocument (giả định) gửi yêu cầu với tên tệp nguồn, định dạng đích (csv) và các tùy chọn chuyển đổi như dấu phân cách và mã hóa. Dịch vụ xử lý mỗi worksheet và tạo các tệp CSV tương ứng.
    const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options });
    
  4. Lấy kết quả - Sau khi chuyển đổi, getFilesList liệt kê các tệp CSV đã tạo trong thư mục đầu ra. Mỗi tệp sau đó được tải xuống bằng downloadFile và lưu cục bộ.
    const files = await apiInstance.getFilesList({ path: outputFolder });
    const csvData = await apiInstance.downloadFile({ path: csvPath });
    
  5. Xử lý lỗi - Bất kỳ lỗi API nào cũng được bắt trong khối catch, nơi bạn có thể ghi lại chi tiết hoặc thực hiện logic thử lại. Đối với danh sách đầy đủ các mã lỗi, tham khảo API reference.

Chuẩn bị môi trường - Các yêu cầu và cài đặt

Trước khi bắt đầu, hãy đảm bảo các yêu cầu sau đã được đáp ứng:

  • Node.js 14 hoặc cao hơn được cài đặt trên máy phát triển của bạn.
  • Một tài khoản Aspose Cloud với thông tin xác thực khách hàng hợp lệ (Client ID và Client Secret).
  • Truy cập internet để thực hiện các cuộc gọi API.

Cài đặt thư viện qua npm và liên kết trang tải xuống để tham khảo:

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

Sau khi cài đặt, tạo một tệp cấu hình (ví dụ: config.json) để lưu trữ thông tin đăng nhập của bạn một cách an toàn.

Tham số chuyển đổi: Tùy chọn và Cài đặt

API chuyển đổi chấp nhận một số tham số tùy chọn cho phép bạn tinh chỉnh đầu ra:

  • delimiter - Chọn một ký tự để phân tách các trường (mặc định là ,).
options.delimiter = "\t"; // Tab‑delimited CSV
  • encoding - Xác định bộ mã ký tự cho tệp CSV (ví dụ: UTF-8, ISO-8859-1).
options.encoding = "UTF-8";
  • outPath - Chỉ định thư mục đám mây nơi các tệp CSV sẽ được lưu trữ.
options.outPath = "converted";
  • storage - Chọn tên lưu trữ nếu bạn sử dụng dịch vụ lưu trữ tùy chỉnh.
options.storage = "MyCustomStorage";

Để xem danh sách đầy đủ các tùy chọn được hỗ trợ, xem Tham chiếu API.

Mẹo Thực Tiễn để Chuyển Đổi XLS sang CSV Hiệu Quả

  • Luồng Tập Tin Lớn - Bật chế độ luồng để xử lý các hàng theo từng khối và tránh tiêu thụ bộ nhớ cao.
  • Sử Dụng Thư Mục Tạm Thời - Ghi các tệp CSV trung gian vào một thư mục đám mây riêng và xóa nó sau khi tải xuống.
  • Đặt Dấu Phân Tách Phù Hợp - Nếu dữ liệu của bạn chứa dấu phẩy, chuyển sang dấu phân tách tab hoặc pipe để ngăn ngừa việc sắp xếp cột sai lệch.
  • Xác Thực Sau Khi Tải Xuống - Kiểm tra vài hàng đầu tiên của CSV để đảm bảo mã hóa và việc sử dụng dấu phân tách đúng trước khi thực hiện xử lý tiếp theo.

Conclusion

Việc chuyển đổi XLS sang CSV trong Node.JS trở nên đơn giản khi bạn tận dụng các khả năng của Aspose.BarCode Cloud SDK for Node.js. Hướng dẫn này đã bao phủ mọi thứ từ thiết lập môi trường và ví dụ làm việc đầy đủ đến các tùy chọn cấu hình và các thực tiễn tốt nhất tập trung vào hiệu năng. Hãy nhớ bảo mật thông tin xác thực khách hàng của bạn, chọn streaming cho các workbook lớn, và dọn dẹp các tệp tạm thời để giữ cho bộ nhớ đám mây của bạn gọn gàng. Đối với triển khai sản xuất, bạn sẽ cần một giấy phép trả phí; bạn có thể xem giá trên trang sản phẩm và nhận giấy phép đánh giá tạm thời từ trang giấy phép tạm thời.

Câu hỏi thường gặp

Quá trình chuyển đổi XLS sang CSV trong Node.JS xử lý nhiều bảng tính như thế nào?
Thư viện xử lý từng bảng tính theo thứ tự, tạo ra một tệp CSV riêng cho mỗi sheet. Bạn có thể hợp nhất chúng sau này nếu cần một tệp CSV duy nhất. Tham khảo Aspose.BarCode Cloud SDK for Node.js để biết cách sử dụng chi tiết.

Liệu tôi có thể truyền trực tiếp các tệp XLS lớn sang CSV mà không tải toàn bộ workbook vào bộ nhớ?
Có. Bằng cách bật tùy chọn streaming trong các tham số chuyển đổi, API sẽ đọc các hàng theo các khối có thể quản lý được, giữ cho việc sử dụng bộ nhớ thấp và hiệu suất cao.

Cần giấy phép nào để sử dụng Aspose.BarCode Cloud SDK cho Node.js trong môi trường sản xuất?
Cần một giấy phép thương mại cho việc sử dụng trong môi trường sản xuất. Các tùy chọn mua được liệt kê trên trang giá sản phẩm, và bạn có thể yêu cầu giấy phép đánh giá tạm thời từ trang giấy phép tạm thời.

Có thể tùy chỉnh dấu phân cách CSV trong quá trình chuyển đổi không?
Chắc chắn. Đặt tùy chọn delimiter trong các tham số chuyển đổi thành bất kỳ ký tự nào bạn cần, chẳng hạn như tab (\t) hoặc dấu gạch đứng (|). Điều này đảm bảo tệp CSV được tạo ra phù hợp với mong đợi xử lý downstream của bạn.

Đọc thêm