クラウド上でプログラムを使用して、2 つ以上の Excel ファイルを 1 つのファイルに簡単に結合できます。複数のファイルで利用可能なデータに基づいてレポートを生成し、Node.js アプリケーションでそれらを 1 つのファイルにマージする必要がある場合があります。この記事では、Node.js の REST API を使用して複数の Excel ファイルを 1 つのファイルに結合する方法を学習します。
この記事では次のトピックについて説明します。
- ファイル結合 REST API と Node.js SDK
- Node.js で REST API を使用して複数の Excel ファイルを結合する
- Node.js を使用して特定の Excel シートを結合する
ファイル結合 REST API と Node.js SDK
複数の XLSX ファイルをマージするには、GroupDocs.Merger Cloud の Node.js SDK API を使用します。 Word、Excel、PowerPoint, Visio 図面、PDF、HTML などのサポートされているドキュメント形式から、単一ページまたはページのコレクションを結合、分割、削除、再配置できます。
コンソールで次のコマンドを使用して、GroupDocs.Merger Cloud を Node.js アプリケーションにインストールできます。
npm install groupdocs-merger-cloud
上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const configuration = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";
Node.js で REST API を使用して複数の Excel ファイルを結合する
以下に説明する簡単な手順に従って、クラウド上で 2 つ以上の Excel ファイルをプログラム的に結合できます。
Excel ファイルをアップロードする
まず、以下のコード例を使用して Excel ファイルをクラウドにアップロードします。
// FileApi を構築する
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\';
fs.readdir(resourcesFolder, (err, files) => {
files.forEach(file => {
// ファイルを 1 つずつ読み込む
fs.readFile(resourcesFolder + file, (err, fileStream) => {
// アップロードファイルリクエストの作成
let request = new groupdocs_merger_cloud.UploadFileRequest(file, fileStream, myStorage);
// ファイルをアップロードする
fileApi.uploadFile(request)
.then(function (response) {
console.log(file + " uploaded: " + response.uploaded.length);
})
.catch(function (error) {
console.log("Error: " + error.message);
});
});
});
});
その結果、アップロードされた XLSX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Node.js を使用して複数の Excel ファイルを結合する
以下の手順に従って、複数の Excel ファイルをプログラムで簡単に 1 つのファイルに結合できます。
- DocumentApi のインスタンスを作成します。
- 最初の JoinItem を作成する
- FileInfo の最初の JoinItem の入力ファイル パスを指定します。
- 2 番目の JoinItem を作成する
- FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
- JoinOptions を作成する
- 作成された結合項目のカンマ区切りリストを追加します
- 出力ファイルのパスを設定する
- JoinOptions を使用して JoinRequest を作成する
- DocumentAPI の join() メソッドを呼び出して結果を取得します
次のコード スニペットは、Node.js の REST API を使用して複数の Excel ファイルを結合する方法を示しています。
// APIの初期化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
// 最初の結合項目を作成する
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";
// 2 番目の結合項目を作成する
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";
// 結合オプションを作成する
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";
// 参加リクエストを作成する
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);
console.log("Document edited: " + result.path);
結合されたファイルをダウンロードする
上記のコード サンプルは、結合された Excel ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。
// APIを初期化する
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
// ファイルのダウンロードリクエストを作成する
let request = new groupdocs_merger_cloud.DownloadFileRequest("Output/joined.xlsx", myStorage);
// ダウンロードファイル
let response = await fileApi.downloadFile(request);
// 出力ファイルを作業ディレクトリに保存します
fs.writeFile("C:\\Files\\joined.xlsx", response, "binary", function (err) { });
console.log(response);
Node.js を使用して特定の Excel シートを結合する
以下の手順に従って、複数の Excel ファイルの特定の Excel シートをプログラムで簡単に 1 つのファイルに結合できます。
- DocumentApi のインスタンスを作成します。
- 最初の JoinItem を作成する
- FileInfo の最初の JoinItem の入力ファイル パスを指定します。
- 2 番目の JoinItem を作成する
- FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
- JoinOptions を作成する
- 開始シート番号と終了シート番号を定義します
- 出力ファイルのパスを設定する
- JoinOptions を使用して JoinRequest を作成する
- DocumentAPI の join() メソッドを呼び出して結果を取得します
次のコード スニペットは、Node.js の REST API を使用して複数のファイルから特定の Excel シートを結合する方法を示しています。
// APIの初期化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
// 最初の結合項目を作成する
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";
// 2 番目の結合項目を作成する
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";
item2.startPageNumber = 3
item2.endPageNumber = 4
// 結合オプションを作成する
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";
// 参加リクエストを作成する
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);
console.log("Document edited: " + result.path);
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン XLSX マージ ツールをお試しください。 https://products.groupdocs.app/merger/xlsx
結論
この記事では、クラウド上で複数の Excel ファイルを結合する方法を学習しました。 Node.js の REST API を使用して、特定の Excel シートを 1 つのファイルに結合する方法も学習しました。さらに、プログラムによって XLSX ファイルをクラウドにアップロードし、マージされたファイルをクラウドからダウンロードする方法を学習しました。また、この API を使用すると、ドキュメント ページの並べ替えや置換、ページの向きの変更、ドキュメントのパスワードの管理など、サポートされているファイル形式に対するその他の操作を簡単に行うことができます。また、クラウド API のドキュメント結合ファミリー メンバーとして、.NET、Java、PHP、Ruby、Android、および Python SDK も提供します。 GroupDocs.Merge Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。