スプレッドシートの更新を自動化することは、データ駆動型のウェブサービスやレポートパイプラインを構築する際によくあるニーズです。GroupDocs.Editor Cloud SDK for Node.js を使用すると、数行のコードだけで REST を介して Node.js で Excel ファイルを編集できます。このチュートリアルでは、SDK の設定方法、XLSX ワークブックの読み込み、セル の変更、変更の保存、そして生の cURL 呼び出しを使用して同じ結果を得る方法を紹介します。また、主要な機能、構成オプション、パフォーマンス上の考慮点についても説明し、Excel 編集を効率的に統合できるよう支援します。

Node.js を使用した REST で Excel ファイルを編集する - 5 ステップ ガイド

  1. SDK をインストールし、認証情報を設定する: CLIENT_ID と CLIENT_SECRET を設定して、ライブラリが GroupDocs Cloud と認証できるようにします。
const CLIENT_ID = "YOUR_CLIENT_ID";
const CLIENT_SECRET = "YOUR_CLIENT_SECRET";

const config = new GroupDocsEditorCloud.Configuration(CLIENT_ID, CLIENT_SECRET);
const editApi = new GroupDocsEditorCloud.EditApi(config);
  1. Excelブックを編集用にロードする: EditDocumentRequest を使用して、クラウドストレージに保存されているファイルを開きます。
const editRequest = new GroupDocsEditorCloud.EditDocumentRequest({
    fileInfo: new GroupDocsEditorCloud.FileInfo({ filePath: "input.xlsx" })
});
const editResult = await editApi.editDocument(editRequest);
  1. 最初のワークシートを取得し、対象セルを特定する: SDK はワークシートとセルを含む document オブジェクトを返します。
const worksheet = editResult.document.worksheets[0];
let targetCell = worksheet.cells.find(c => c.rowIndex === 0 && c.columnIndex === 0);
  1. セルの値を更新または作成: セル A1 の内容を変更します(存在しない場合は追加します)。
if (!targetCell) {
    targetCell = new GroupDocsEditorCloud.Cell({
        rowIndex: 0,
        columnIndex: 0,
        value: "Edited via GroupDocs Editor Cloud"
    });
    worksheet.cells.push(targetCell);
} else {
    targetCell.value = "Edited via GroupDocs Editor Cloud";
}
  1. 編集したワークブックをストレージに保存: outputPath を指定し、saveDocument を呼び出します。
const saveOptions = new GroupDocsEditorCloud.SaveOptions({ outputPath: "output.xlsx" });
const saveRequest = new GroupDocsEditorCloud.SaveDocumentRequest({
    documentId: editResult.documentId,
    document: editResult.document,
    saveOptions: saveOptions
});
await editApi.saveDocument(saveRequest);

クラスとメソッドの完全な一覧については、API リファレンスをご覧ください。

REST を使用した Node.js での Excel ファイル編集 - 完全なコード例

次の例は、GroupDocs.Editor Cloud SDK を使用して REST 経由で Node.js で Excel ファイルを編集する方法を示しています。

const GroupDocsEditorCloud = require("@groupdocs/editor-cloud");

// Replace with your actual GroupDocs Cloud credentials
const CLIENT_ID = "YOUR_CLIENT_ID";
const CLIENT_SECRET = "YOUR_CLIENT_SECRET";

// Paths for the source Excel file and the edited result
const INPUT_FILE_PATH = "input.xlsx";
const OUTPUT_FILE_PATH = "output.xlsx";

async function editExcel() {
    // Configure the SDK
    const config = new GroupDocsEditorCloud.Configuration(CLIENT_ID, CLIENT_SECRET);
    const editApi = new GroupDocsEditorCloud.EditApi(config);

// 1. Load the Excel workbook for editing
    const editRequest = new GroupDocsEditorCloud.EditDocumentRequest({
        fileInfo: new GroupDocsEditorCloud.FileInfo({
            filePath: INPUT_FILE_PATH
        })
    });

const editResult = await editApi.editDocument(editRequest);
    const documentId = editResult.documentId;
    const document = editResult.document;

// 2. Retrieve the first worksheet
    const worksheet = document.worksheets[0];

// 3. Update cell A1 (rowIndex = 0, columnIndex = 0) with a new value
    let targetCell = worksheet.cells.find(c => c.rowIndex === 0 && c.columnIndex === 0);
    if (!targetCell) {
        targetCell = new GroupDocsEditorCloud.Cell({
            rowIndex: 0,
            columnIndex: 0,
            value: "Edited via GroupDocs Editor Cloud"
        });
        worksheet.cells.push(targetCell);
    } else {
        targetCell.value = "Edited via GroupDocs Editor Cloud";
    }

// 4. Save the edited workbook back to storage
    const saveOptions = new GroupDocsEditorCloud.SaveOptions({
        outputPath: OUTPUT_FILE_PATH
    });

const saveRequest = new GroupDocsEditorCloud.SaveDocumentRequest({
        documentId: documentId,
        document: document,
        saveOptions: saveOptions
    });

const saveResult = await editApi.saveDocument(saveRequest);
    console.log(`Edited file saved to: ${saveResult.path}`);
}

// Execute the edit operation
editExcel().catch(error => {
    console.error("Error during Excel editing:", error);
});

注: このコード例は基本機能を示しています。プロジェクトで使用する前に、ファイルパスや構成値を実際の環境に合わせて更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で十分にテストしてください。問題が発生した場合は、公式ドキュメント または サポートチーム にお問い合わせください。

cURL を使用した Node.js の REST API で XLSX シートを更新

以下は、生の HTTP 呼び出しを使用した同じ操作の簡単な手順です。プレースホルダーの値を実際の認証情報とファイル名に置き換えてください。

  1. アクセストークンを取得する
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
        -H "Content-Type: application/x-www-form-urlencoded" \
        -d "client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials"

レスポンスには access_token が含まれます。

  1. ソースのXLSXファイルをアップロード
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/input.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@input.xlsx"
  1. ワークブックを編集 (セル A1 を変更)
curl -X POST "https://api.groupdocs.cloud/v2.0/editor/edit" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.xlsx" },
           "options": {
               "cells": [
                   { "rowIndex": 0, "columnIndex": 0, "value": "Edited via GroupDocs Editor Cloud" }
               ]
           }
         }'
  1. 編集されたファイルをダウンロード
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o output.xlsx

リクエスト ペイロードの詳細については、公式 API ドキュメントをご覧ください。

GroupDocs.Editor Cloud SDK for Node.js の前提条件とセットアップ

SDKの使用を開始するには、Node.js 14 以降とGroupDocs Cloudアカウントが必要です。

npm install groupdocs-editor-cloud

最新パッケージはリリースページからダウンロードできます。インストール後、GroupDocs Cloud ダッシュボードで client_id と client_secret を作成し、安全に保管してください。

GroupDocs.Editor Cloud SDK for Node.js が Excel ワークシートの変更に最適な理由

  • 完全なXLSXサポート - 数式、スタイル、データ検証を保持しながら、ブックを読み込み、編集、保存します。
  • セルレベルの編集 - 個々のセル、行、列にプログラムでアクセスでき、レポートやダッシュボードの更新に最適です。
  • クラウドストレージ統合 - ローカルにダウンロードせずに、GroupDocs Cloudに保存されたファイルを直接操作できます。
  • 安全なREST通信 - すべての操作はHTTPS上で行われ、SDKがトークン管理を代行します。

さらに詳しくは、ドキュメントをご参照ください。

GroupDocs.Editor Cloud の Excel 編集オプションの微調整

SDK は、編集されたワークブックの保存方法を制御できる複数のオプションを提供します。

const saveOptions = new GroupDocsEditorCloud.SaveOptions({
    outputPath: "output.xlsx",
    // You can also set compression level, password protection, etc.
});
  • outputPath - クラウドストレージ内の保存先パス。
  • compressionLevel - 大きなワークブックのファイルサイズを削減します(APIリファレンスで利用可能)。
  • password - 必要に応じて、生成されたファイルをパスワードで保護します。

プロジェクトのセキュリティとパフォーマンスの要件に合わせてこれらの設定を調整してください。

REST を使用した XLSX ワークブックの編集に関するパフォーマンス上の考慮事項

  1. 構成オブジェクトを再利用する - 各リクエストごとに新しい Configuration を作成するとオーバーヘッドが発生します。アプリケーションのライフタイム全体で単一のインスタンスを保持してください。
  2. セルの更新をバッチ処理する - 多くのセルを変更する必要がある場合、配列にまとめて、複数の呼び出しではなく単一の編集リクエストを送信してください。
  3. ワークシートのサイズを制限する - 非常に大きなワークシートはメモリ消費を増加させます。可能であればデータを複数のシートに分割することを検討してください。
  4. 不要な保存を避ける - 必要な変更がすべて適用された後にのみ saveDocument を呼び出し、I/O 操作を削減してください。

結論

Node.js で REST を介して Excel ファイルを編集することは、GroupDocs.Editor Cloud SDK for Node.js を使用すると簡単になります。数回の API 呼び出しまたはシンプルな cURL コマンドだけで、プログラムからワークブックをロードし、セルを変更し、結果を保存できます。SDK のクラウドベース アーキテクチャにより、ローカルの Office インストールが不要になり、アプリケーションのワークロードに合わせてスケールします。本番環境での導入には、使用パターンに合ったライセンスを購入してください。また、一時ライセンスページ からテスト用の一時ライセンスを取得することもできます。今日から Excel 編集を統合し、データ処理パイプラインを効率化しましょう。

よくある質問

Node.js で REST を使用して、カスタム HTTP コードを書かずに Excel ファイルを編集するにはどうすればよいですか?
GroupDocs.Editor Cloud SDK for Node.js を使用すると、REST 呼び出しを抽象化し、シンプルなメソッド呼び出しだけで Node.js から REST 経由で Excel ファイルを編集できます。

REST api Node.js を使用して大きなファイルの XLSX シートを更新できますか?
はい。SDK はデータをストリーミングし、バッチ更新をサポートするため、大規模なブックに適しています。compressionLevel とバッチセル変更を調整してパフォーマンスを向上させてください。

Excel ワークシートをプログラムで Node.js から変更する最適な方法は何ですか?
editDocument が返す worksheet と cell オブジェクトを使用します。これにより、Node.js 環境を離れることなく、行、列、セルの値を完全に制御できます。

価格とライセンス情報はどこで確認できますか?
価格層や評価用の一時ライセンスを含むすべてのライセンス詳細は、一時ライセンスページで利用できます。

もっと読む