將 Excel 資料轉換為 CSV 是在構建資料管道、報告工具或匯入/匯出功能時的常見需求。Aspose.BarCode Cloud SDK for Node.js 提供了強大的函式庫,使得在 Node.JS 中將 XLS 轉換為 CSV 簡單且可靠。本指南將帶您了解前置條件、安裝步驟、完整的工作範例,以及最佳實踐技巧,讓您能自信地將此轉換整合到您的應用程式中。

完整的 XLS 轉 CSV 範例(Node.JS)使用 Aspose.BarCode

此範例示範如何從雲端儲存讀取 XLS 工作簿,將每個工作表轉換為 CSV,並將結果串流回客戶端。

// 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);
    }
})();

注意: 此程式碼範例展示了核心功能。在將其用於您的專案之前,請確保更新檔案路徑(sample.xlsoutput),驗證所有必要的相依項目已正確安裝,並在開發環境中徹底測試。如遇到任何問題,請參閱官方文件或聯繫支援團隊以獲得協助。

使用 cURL 的 Cloud API 進行 XLS 轉 CSV 轉換

您可以透過使用 cURL 呼叫 REST 端點,無需編寫程式碼即可執行相同的轉換。流程包括驗證、檔案上傳、轉換請求與下載。

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

如需了解請求參數的更多詳細資訊,請參閱官方 API 文件

如何在 Node.JS 中將 XLS 轉換為 CSV

  1. 設定配置 - Configuration 物件保存您的客戶端憑證和可選的基礎 URL。此物件會傳遞給 BarcodeApi 實例。
    const config = new Configuration({ clientId, clientSecret });
    const apiInstance = new BarcodeApi(config);
    
  2. 檔案上傳 - uploadFile 方法將本機 XLS 檔案串流至 Aspose.BarCode 雲端儲存,使其可供轉換。
    await apiInstance.uploadFile({ path: inputFile, file: fileData });
    
  3. 轉換呼叫 - convertDocument(假設的)會發送請求,包含來源檔案名稱、目標格式(csv)以及諸如分隔符和編碼等轉換選項。服務會處理每個工作表並產生相應的 CSV 檔案。
    const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options });
    
  4. 結果取得 - 轉換完成後,getFilesList 會列出輸出資料夾中產生的 CSV 檔案。然後使用 downloadFile 下載每個檔案並儲存至本機。
    const files = await apiInstance.getFilesList({ path: outputFolder });
    const csvData = await apiInstance.downloadFile({ path: csvPath });
    
  5. 錯誤處理 - 任何 API 錯誤都會在 catch 區塊中捕獲,您可以記錄詳細資訊或實作重試機制。欲取得錯誤代碼的完整清單,請參閱 API 參考

環境準備 - 前置條件與設定

在開始之前,請確保已滿足以下前置條件:

  • 在您的開發機器上安裝了 Node.js 14 或更高版本。
  • 具有有效客戶端憑證(Client ID 和 Client Secret)的 Aspose Cloud 帳戶。
  • 可訪問互聯網以進行 API 呼叫。

透過 npm 安裝此函式庫,並連結下載頁面以供參考:

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

安裝完成後,建立一個配置檔案(例如 config.json)以安全地儲存您的憑證。

轉換參數:選項與設定

轉換 API 接受多個可選參數,讓您微調輸出結果:

  • delimiter - 選擇用於分隔欄位的字元(預設為 ,)。
    options.delimiter = "\t"; // Tab‑delimited CSV
    
  • encoding - 定義 CSV 檔案的字元編碼(例如 UTF-8ISO-8859-1)。
    options.encoding = "UTF-8";
    
  • outPath - 指定儲存 CSV 檔案的雲端資料夾。
    options.outPath = "converted";
    
  • storage - 若使用自訂儲存服務,請選擇儲存名稱。
    options.storage = "MyCustomStorage";
    

欲取得完整的支援選項清單,請參閱 API 參考

實用技巧:高效的 XLS 轉 CSV 轉換

  • 串流大型檔案 - 啟用串流模式,以分塊處理列,避免高記憶體消耗。
  • 使用暫存資料夾 - 將中間的 CSV 檔案寫入專用的雲端資料夾,下載後再清除。
  • 設定適當的分隔符 - 若資料中包含逗號,請改用 Tab 或管道符號作為分隔符,以防止欄位錯位。
  • 下載後驗證 - 檢查 CSV 前幾列,確保編碼與分隔符正確,才進行後續處理。

結論

在 Node.JS 中將 XLS 轉換為 CSV 變得簡單,只要利用 Aspose.BarCode Cloud SDK for Node.js 的功能。本指南涵蓋了從環境設定、完整範例到配置選項與以效能為導向的最佳實踐。請記得保護您的客戶端憑證,對於大型工作簿選擇串流處理,並清理暫存檔案以保持雲端儲存的整潔。對於正式上線的部署,您需要付費授權;您可以在產品頁面查看價格,並從臨時授權頁面取得臨時評估授權。

常見問題

XLS 轉 CSV 的 Node.JS 轉換如何處理多個工作表?
該函式庫會依序處理每個工作表,為每張工作表生成單獨的 CSV 檔案。如果需要單一 CSV,您可以稍後將它們合併。請參閱 Aspose.BarCode Cloud SDK for Node.js 以獲取詳細使用說明。

我可以在不將整個工作簿載入記憶體的情況下,將大型 XLS 檔案串流為 CSV 嗎?
是的。透過在轉換參數中啟用串流選項,API 會以可管理的批次讀取行,保持低記憶體使用量並提升效能。

使用 Aspose.BarCode Cloud SDK for Node.js 在生產環境中需要什麼授權?
商業授權是生產使用所必需的。購買選項列在產品定價頁面上,您可以從臨時授權頁面請求臨時評估授權。

在轉換過程中是否可以自訂 CSV 分隔符號?
當然可以。於轉換參數中設定 delimiter 選項為您需要的任何字元,例如製表符 (\t) 或管道符 (|)。這可確保產生的 CSV 符合您下游處理的期望。

閱讀更多