プログラム的に複数の Microsoft Excel ファイルを 1 つのファイルに結合する必要がある場合があります。 Excel ファイルを結合すると、複数の Excel ファイルで利用可能なデータに基づいてレポートを簡単に生成できます。 Python 開発者は、異なるファイルの 2 つ以上の Excel ワークブックまたはスプレッドシートを 1 つのワークブックに結合できます。この記事では、Python の REST API を使用して複数の Excel ファイルを 1 つのファイルに結合する方法を学習します。
この記事では次のトピックについて説明します。
- Excel Merger REST API と Python SDK
- Python で REST API を使用して複数の Excel ファイルを結合する
- Python を使用して特定の Excel シートを結合する
Excel Merger REST API と Python SDK
複数の XLSX ファイルをマージするには、GroupDocs.Merger Cloud の Python SDK API を使用します。 サポートされている文書形式、Word、Excel、PowerPoint、 Visio 図面、PDF、HTML。
コンソールで次のコマンドを使用して、GroupDocs.Merger Cloud を Python アプリケーションにインストールできます。
pip install groupdocs-merger-cloud
上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
Python で REST API を使用して複数の Excel ファイルを結合する
以下の手順に従って、クラウド上で 2 つ以上の Excel ファイルをプログラム的に結合できます。
Excel ファイルをアップロードする
まず、以下のコード例を使用して Excel ファイルをクラウドにアップロードします。
# API のインスタンスを作成する
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)
# サンプルファイルをアップロードする
for filename in glob.iglob("C:\\Files\\upload\\*.xlsx", recursive=True):
destFile = filename.replace("C:\\Files\\upload", "", 1)
# ファイルがすでに存在するかどうかを確認する
fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
if not fileExistsResponse.exists:
# アップロードファイルリクエストの作成
request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
# ファイルをアップロードする
file_api.upload_file(request)
その結果、アップロードされた XLSX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Python を使用して複数の Excel ファイルを結合する
以下の手順に従って、複数の Excel ファイルをプログラムで簡単に 1 つのファイルに結合できます。
- DocumentApi のインスタンスを作成します。
- 最初の JoinItem を作成する
- FileInfo の最初の JoinItem の入力ファイル パスを指定します。
- 2 番目の JoinItem を作成する
- FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
- 必要に応じて、上記の手順を繰り返してさらにファイルを追加します
- JoinOptions を作成する
- 作成された結合項目のカンマ区切りリストを追加します
- 出力ファイルのパスを設定する
- JoinOptions を使用して JoinRequest を作成する
- JoinRequest を使用して join() メソッドを呼び出します。
次のコード サンプルは、Python の REST API を使用して複数の Excel ファイルを結合する方法を示しています。
# APIのインスタンスを作成する
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)
# 最初の入力ファイルを定義する
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")
# 2 番目の入力ファイルを定義する
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")
# 結合オプションを定義する
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined.xlsx"
# 参加リクエストの作成
request = groupdocs_merger_cloud.JoinRequest(options)
# ファイルを結合する
result = documentApi.join(request)
# 終わり
print("Documents merged: " + result.path)
結合されたファイルをダウンロードする
上記のコード サンプルは、結合された Excel ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。
# APIの初期化
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""
# ダウンロードファイルリクエストの作成
request = groupdocs_merger_cloud.DownloadFileRequest("joined.xlsx", my_storage)
response = file_api.download_file(request)
# ダウンロードしたファイルを作業ディレクトリに移動します
shutil.move(response, "C:\\Files\\")
Python を使用して特定の Excel シートを結合する
以下の手順に従って、複数の Excel ファイルの特定の Excel シートをプログラムで簡単に 1 つのファイルに結合できます。
- DocumentApi のインスタンスを作成します。
- 最初の JoinItem を作成する
- FileInfo の最初の JoinItem の入力ファイル パスを指定します。
- 2 番目の JoinItem を作成する
- FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
- 2 番目の JoinItem の開始シート番号と終了シート番号を定義します
- 必要に応じて、範囲モードを定義します。
- JoinOptions を作成する
- 作成された結合項目のカンマ区切りリストを追加します
- 出力ファイルのパスを設定する
- JoinOptions を使用して JoinRequest を作成する
- DocumentAPI の join() メソッドを呼び出して結果を取得します
次のコード スニペットは、Python の REST API を使用して複数のファイルから特定の Excel シートを結合する方法を示しています。
# APIのインスタンスを作成する
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)
# 最初の入力ファイルを定義する
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")
# 2 番目の入力ファイルを定義する
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")
# 結合するシート番号の範囲を設定します
item2.start_page_number = 3
item2.end_page_number = 4
# レンジモード
item2.range_mode = "OddPages"
# 結合オプションを定義する
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined_sheets.xlsx"
# 参加リクエストの作成
request = groupdocs_merger_cloud.JoinRequest(options)
# ファイルを結合する
result = documentApi.join(request)
# 終わり
print("Documents merged: " + result.path)
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン XLSX マージ ツールをお試しください。 https://products.groupdocs.app/merger/xlsx
結論
この記事では、クラウド上で複数の Excel ファイルを結合する方法を学習しました。さらに、Python の REST API を使用して、複数のファイルの特定の Excel シートを 1 つのファイルにマージする方法についても説明しました。この記事では、プログラムで XLSX ファイルをクラウドにアップロードし、マージされたファイルをクラウドからダウンロードする方法についても説明しました。また、この API を使用すると、ドキュメント ページの並べ替えや置換、ページの向きの変更、ドキュメントのパスワードの管理など、サポートされているファイル形式に対するその他の操作を簡単に行うことができます。 GroupDocs.Merge Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラムでお気軽にお問い合わせください。