Python の REST API を使用して Excel シートを編集します。

Excel は、最も人気があり、広く使用されているスプレッドシート アプリケーションの 1 つです。これにより、データを表形式で整理、分析、保存することができます。 Python を使用すると、Excel ファイルの内容を簡単に追加、編集、削除できます。この記事では、Python の REST API を使用して Excel シートを編集する方法を学びます。

この記事では次のトピックについて説明します。

Excel スプレッドシート エディター REST API および Python SDK

XLSX ファイルを変更するには、GroupDocs.Editor Cloud の Python SDK API を使用します。 サポートされている形式のドキュメントを編集できます。コンソールで次のコマンドを使用してインストールしてください。

pip install groupdocs_editor_cloud

上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

# このコード例は、コードにクライアント ID とシークレットを追加する方法を示しています。
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
my_storage = ""

configuration = groupdocs_editor_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"

Python の REST API を使用して Excel ファイルを編集する

以下の簡単な手順に従って Excel ファイルを編集できます。

  1. XLSXファイルをクラウドにアップロード
  2. 編集 Excelスプレッドシートデータ
  3. ダウンロード更新されたファイル

ドキュメントをアップロードする

まず、以下のコード例を使用して、XLSX ファイルをクラウドにアップロードします。

# このコード例は、Excel ファイルをクラウドにアップロードする方法を示しています。
# APIのインスタンスを作成する
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# サンプルファイルをアップロードする
request = groupdocs_editor_cloud.UploadFileRequest("sample.xlsx", "C:\\Files\\\Editor\\sample.xlsx", my_storage)
response = file_api.upload_file(request)

その結果、アップロードされた XLSX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

Python で Excel スプレッドシート データを編集する

以下の手順に従って、Excel シートのコンテンツを編集できます。

  • まず、FileApiEditApiのインスタンスを作成します。
  • 次に、アップロードされた XLSX ファイルのパスを指定します。
  • 次に、ファイルを HTML ドキュメントとしてダウンロードします。
  • 次に、ダウンロードしたHTMLファイルを文字列として読み込みます。
  • 次に、HTML を編集し、更新された HTML ドキュメントを保存します。
  • その後、更新した HTML ファイルをアップロードします。
  • 最後に、EditApi.save() メソッドを使用して HTML を XLSX に保存し直します。

次のコード サンプルは、Python の REST API を使用して Excel シート データを編集する方法を示しています。

# このコード例は、Excel シートのコンテンツを編集する方法を示します。
# APIの初期化
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# アップロードされたドキュメントを編集可能な状態にロードします
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# スプレッドシートの読み込みオプションを定義する
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# 出力フォルダーのパスを指定します 
loadOptions.output_path = "output"
# 編集するワークシートのインデックスを指定します
loadOptions.worksheet_index = 0
# シートをロードする
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# HTMLドキュメントをダウンロード
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

with open(htmlFile, 'r') as file:
    html = file.read()

# 何かを編集...    
html = html.replace("Welcome", "This is a sample sheet!")

# HTMLをストレージにアップロードして戻す
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# HTMLをxlsxに保存し直す
saveOptions = groupdocs_editor_cloud.SpreadsheetSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.xlsx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# 終わり
print("Document edited: " + saveResult.path)
Python の REST API を使用して Excel ファイルを編集します。

Python の REST API を使用して Excel ファイルを編集します。

更新されたファイルをダウンロードする

上記のコードサンプルでは、編集した Excel ファイル (XLSX) をクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。

# このコード例は、更新された Excel ファイルをダウンロードする方法を示しています。
# APIの初期化
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# ダウンロードファイル
request = groupdocs_editor_cloud.DownloadFileRequest("edited.xlsx", my_storage)
response = file_api.download_file(request)

# ダウンロードしたファイルを作業ディレクトリに移動します
shutil.move(response, "C:\\Files\\Editor\\")

Pythonを使用してExcelシートにテーブルを追加する

前述の手順に従って、Excel シートにテーブルを追加できます。ただし、次に示すように、HTML を更新してドキュメントに表を追加する必要があります。

html = html.replace("</TABLE>", """</TABLE> <br/><table style="width: 100%;background-color: #dddddd;border: 1px solid black;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th style="background-color: #04AA6D; color: white;">First Name</th><th style="background-color: #04AA6D; color: white;">Last Name</th><th style="background-color: #04AA6D; color: white;">Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")

次のコード サンプルは、Python の REST API を使用して Excel スプレッドシートにテーブルを追加する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

# このコード例は、Excel シートを編集して新しいテーブルを挿入する方法を示します。
# APIの初期化
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# アップロードされたドキュメントを編集可能な状態にロードします
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# スプレッドシートのロード オプションを定義する
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# 出力フォルダーのパスを指定します 
loadOptions.output_path = "output"
# 編集するワークシートのインデックスを指定します
loadOptions.worksheet_index = 0
# シートをロードする
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# HTMLドキュメントをダウンロード
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

with open(htmlFile, 'r') as file:
    html = file.read()

# テーブルの挿入  
html = html.replace("</TABLE>", """</TABLE> <br/><table style="width: 100%;background-color: #dddddd;border: 1px solid black;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th style="background-color: #04AA6D; color: white;">First Name</th><th style="background-color: #04AA6D; color: white;">Last Name</th><th style="background-color: #04AA6D; color: white;">Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")

# HTMLをストレージにアップロードして戻す
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# HTMLをxlsxに保存し直す
saveOptions = groupdocs_editor_cloud.SpreadsheetSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.xlsx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# 終わり
print("Document edited: " + saveResult.path)
Pythonを使用してExcelシートにテーブルを追加します。

Pythonを使用してExcelシートにテーブルを追加します。

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン XLSX 編集ツールをお試しください。 https://products.groupdocs.app/editor/xlsx

結論

この記事では、次のことを学びました。

  • Excelシートデータをクラウド上で編集する方法。
  • Python を使用して Excel シートにテーブルを追加する方法。
  • Excel ファイルをクラウドにアップロードします。
  • 更新された Excel ファイルをクラウドからダウンロードする方法。

さらに、GroupDocs.Editor Cloud API の詳細については、ドキュメント を使用して学習できます。また、API リファレンス セクションも提供されており、ブラウザーを通じて直接 API を視覚化して操作できるようになります。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目