Excel データを CSV に変換することは、データ パイプラインやレポート ツール、インポート/エクスポート機能を構築する際に頻繁に求められる要件です。
Aspose.BarCode Cloud SDK for Node.js は、Node.JS での XLS から CSV への変換をシンプルかつ信頼性の高いものにする堅牢なライブラリを提供します。
本ガイドでは、前提条件、インストール手順、完全な動作例、ベストプラクティスのヒントを順に解説し、変換機能を自信を持ってアプリケーションに統合できるようにします。

Aspose.BarCode を使用した Node.JS における XLS から CSV への変換の完全動作例

この例では、クラウドストレージから 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 を使用したクラウド 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 reference を参照してください。

環境の準備 - 前提条件とセットアップ

開始する前に、以下の前提条件が満たされていることを確認してください。

  • 開発マシンに 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ファイルを書き込み専用のクラウドフォルダーに保存し、ダウンロード後にクリーンアップします。
  • 適切な区切り文字を設定 - データにカンマが含まれる場合、タブまたはパイプ区切りに切り替えて列のずれを防止します。
  • ダウンロード後に検証 - さらに処理を行う前に、CSVの最初数行を確認し、エンコーディングと区切り文字が正しいことを確認します。

結論

Node.JS での XLS から CSV への変換は、Aspose.BarCode Cloud SDK for Node.js の機能を活用すればシンプルになります。本ガイドでは、環境設定や完全な動作サンプルから構成オプション、パフォーマンス重視のベストプラクティスまで、すべてを網羅しました。クライアント認証情報を安全に保管し、大きなワークブックにはストリーミングを選択し、クラウドストレージを整理整頓するために一時ファイルを削除することを忘れないでください。本番環境での展開には有料ライセンスが必要です。製品ページで価格を確認し、一時ライセンスページ から一時評価ライセンスを取得できます。

よくある質問

Node.JS の XLS から CSV への変換は複数のワークシートをどのように処理しますか?
ライブラリは各ワークシートを順番に処理し、シートごとに個別の CSV ファイルを生成します。単一の CSV が必要な場合は、後でそれらを結合することができます。 詳細な使用方法については、Aspose.BarCode Cloud SDK for Node.js を参照してください。

大きなXLSファイルをメモリに全体をロードせずにCSVへストリーミングできますか?
はい。変換パラメータでストリーミングオプションを有効にすると、APIは行を適切なサイズのチャンクで読み取り、メモリ使用量を低く抑え、パフォーマンスを高く保ちます。

Aspose.BarCode Cloud SDK for Node.js を本番環境で使用する際に必要なライセンスは何ですか?
本番環境での使用には商用ライセンスが必要です。購入オプションは製品価格ページに掲載されており、一時ライセンスページ から一時評価ライセンスをリクエストできます。

変換時にCSV区切り文字をカスタマイズできますか?
もちろんです。変換パラメータの delimiter オプションを、必要な文字(タブ (\t) やパイプ (|) など)に設定してください。これにより、生成されたCSVが下流の処理要件に合致します。

さらに読む