注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Microsoft Excel コネクターは、Microsoft Excel 用の Palantir 提供のドライバーです。
新しい Microsoft Excel ソースを作成するには、Palantir 提供のドライバーの標準セットアップフローに沿って進め、以下のセクションを参照して Microsoft Excel 固有の設定とネットワーク設定を行います。プロパティの完全なリファレンスについては、Microsoft Excel ドライバーの公式ドキュメント ↗を参照してください。
Microsoft Excel コネクターは開発のベータ版段階にあり、お使いのエンロールメントでは利用できない場合があります。開発が進行している間は、機能が変更される場合があります。
| 機能 | ステータス |
|---|---|
| 探索 | 🟡 ベータ版 |
| バッチ同期 | 🟡 ベータ版 |
| インクリメンタル(差分連携) | 🟡 ベータ版 |
| OAuth 2.0 認証 | 🟡 ベータ版 |
| テーブルエクスポート | 🟡 ベータ版 |
Microsoft Excel コネクターは、ファイルストレージからワークブックを読み取り、そのワークシートとセル範囲をリレーショナルテーブルとして公開します。
ワークブックを更新せずに保存済みの数式の値を読み取るには、Recalculate ↗ を FALSE に設定してください。特に、ほかのプロセスもワークブックに書き込む場合は、この設定を行ってください。デフォルトでは、コネクターは読み取り時に、変更されたセルの影響を受ける数式を再計算し、その結果をワークシートに書き戻します。
スケジュールされた読み取りでは、バッチ同期を使用して、これらのテーブルをデータセットに書き込みます。ワークブックを更新するには、データを書き込むを参照してください。
コンピューターから Excel ファイルを1回だけアップロードする場合は、Foundry にドラッグします。
サポートされているストレージシステムには、Amazon S3、Azure Blob Storage、OneDrive、SharePoint、SFTP サーバーがあります。完全な一覧については、ConnectionType のリファレンス ↗ を参照してください。
Palantir は、ストレージの場所とアクセス方法に応じた3個の Excel コネクターを提供しています。
| コネクター | 使用する状況 |
|---|---|
| Microsoft Excel(このページ) | サポートされているファイルストレージシステムに保存されたワークブックから、ワークシートとセル範囲をリレーショナルテーブルとして読み取る必要がある場合。 |
| Microsoft Excel Online | Microsoft Entra ID 認証を使用し、Microsoft Graph を介して OneDrive for Business または SharePoint Online のワークブックにアクセスする必要がある場合。 |
| Microsoft SharePoint Excel | オンプレミスにデプロイされた SharePoint Server 2010 または 2013 上のワークブックにアクセスする必要がある場合。SharePoint Online には Microsoft Excel Online を使用します。 |
ワークブックに一貫した表形式の構造があり、ワークシートまたはセル範囲をソーステーブルとして直接公開する必要がある場合は、Microsoft Excel コネクターを使用します。
ワークシートの選択、セル範囲、データ型、ワークブック固有のパースをより柔軟に行うには、ストレージコネクターを使用してワークブックをファイルとして取り込みます。ストレージコネクターには、Amazon S3、Microsoft OneDrive、Microsoft SharePoint、Google Drive があります。その後、Transforms 用の Excel パーサー、Pipeline Builder の parseExcel 関数、または pandas.read_excel や openpyxl などのライブラリを使用して、トランスフォームでパースします。
ワークブックが保存されているストレージシステムに対して認証するには、ConnectionType に適切なストレージシステムを設定します。サポートされている認証方法と必要なプロパティについては、CData の ConnectionType ↗ と AuthScheme ↗ のドキュメントを確認してください。
たとえば、委任された Microsoft Entra ID 認証を使用して OneDrive のワークブックにアクセスするには、ConnectionType を OneDrive、AuthScheme を AzureAD、InitiateOAuth を REFRESH に設定します。アプリケーションの OAuthClientId と OAuthClientSecret を指定し、OAuth 2.0 認証のガイダンスに沿って進めます。
Excel データを Foundry に読み込むには、ソースエクスプローラーでワークシートのテーブルを選択し、バッチ同期を設定します。
各ワークシートは CData カタログ内のテーブルであり、ワークブックがそのスキーマになります。複数のワークブックを発見可能にするには、URI に単一のファイルではなくフォルダーを設定します。コネクターはそのフォルダー内のワークブックを見つけます。
Excel の列には異なるデータ型の値が含まれることがあるため、数値を含む列がテキストとして読み取られる場合があります。これらの値を数値として使用するには、同期後にトランスフォームで列のデータ型を変換します。

以下のプロパティは必須または推奨です。
| プロパティ | 必須かどうか | 説明 | デフォルト |
|---|---|---|---|
ConnectionType ↗ | 必須 | Microsoft Excel ファイルの保存と取得に使用するファイルストレージサービス、サーバー、またはファイルアクセスプロトコルを指定します。 | Azure Blob Storage |
SSLMode ↗ | 必須 | FTP または FTPS サーバーへの接続時に使用する認証メカニズムです。 | IMPLICIT |
URI ↗ | 必須 | Excel リソースの場所を示す Uniform Resource Identifier(URI)です。 | — |
AuthScheme ↗ | 推奨 | リモートサービスへの接続時に使用する認証の種類です。 | AzureAD |
InitiateOAuth ↗ | 推奨 | OAuth アクセストークンの取得または更新のプロセスを指定します。このトークンは、認証および認可されたユーザーが作業している間、ユーザーのアクセスを維持します。 | REFRESH |
OAuthClientId ↗ | 推奨 | カスタム OAuth アプリケーションの作成時に割り当てられたクライアントIDを指定します。(コンシューマー鍵とも呼ばれます。)この ID は、カスタムアプリケーションを OAuth 認可サーバーに登録します。 | — |
OAuthClientSecret ↗ | 推奨 | カスタム OAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。(コンシューマーシークレットとも呼ばれます。)このシークレットは、カスタムアプリケーションを OAuth 認可サーバーに登録します。 | — |
ソースがストレージシステムに接続できるようにするには、ストレージと認証のエンドポイントに対するネットワークエグレスポリシーを適用します。必要なエンドポイントは、選択した ConnectionType、AuthScheme、ストレージアカウント、リージョンによって異なります。
Foundry からストレージシステムに直接アクセスできない場合は、Agent プロキシエグレスポリシーを設定し、Agent ホストが必要なエンドポイントにアクセスできることを確認してください。
このコネクターは OAuth 2.0 認証をサポートします。Palantir 提供ドライバーの OAuth 2.0 ガイダンスに従って、接続を設定し、認可します。
このコネクターはテーブルエクスポートをサポートします。テーブルエクスポートの設定方法をご確認ください。
ブックのデータをファイル単位で書き込むには、ブックを保存しているストレージシステムのコネクターを使用します。Microsoft Excel コネクターを通じてリレーショナルデータの行を書き込むには、テーブルエクスポートを使用します。
ストレージソースを外部トランスフォームまたは外部関数にインポートします。ブックをダウンロードし、openpyxl ↗ などのライブラリを使用してメモリー内で変更してから、更新したファイルを同じ場所にアップロードします。Amazon S3 にファイルをアップロードする例については、コード内で S3 ソースを使用するを参照してください。
更新したブックをアップロードする前に、ストレージソースを設定してください。
Files.ReadWrite ↗ を使用できます。アプリケーションへのアクセスには、Files.ReadWrite.All などの適切なアプリケーション権限と、管理者の同意が必要です。ブックのストレージシステムのコネクターを使用して、ブックのバイトデータをダウンロードします。以下の例では、openpyxl ↗ を使用して、そのバイトデータを読み取り、更新する方法を示します。Python リポジトリの依存関係に openpyxl を追加してください。
認証、ネットワークのエグレス、ダウンロードおよびアップロードの呼び出しは、ストレージコネクターが処理します。例として、コード内で S3 ソースを使用するを参照してください。ダウンロードしたバイトデータをこれらのヘルパーに渡し、更新用ヘルパーが返すバイトデータを同じファイルの場所にアップロードします。
このヘルパーは、最初の行を列名として使用し、その後に続く空でない行を返します。data_only=True を指定すると、数式セルには数式のテキストではなく、最後に保存された値が含まれます。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33from io import BytesIO from typing import Any from openpyxl import load_workbook def read_worksheet_rows( workbook_bytes: bytes, worksheet_name: str, ) -> list[dict[str, Any]]: workbook = load_workbook( BytesIO(workbook_bytes), read_only=True, data_only=True, ) try: worksheet = workbook[worksheet_name] rows = worksheet.iter_rows(values_only=True) raw_headers = next(rows, None) if raw_headers is None: return [] headers = [ str(header) if header is not None else f"column_{index + 1}" for index, header in enumerate(raw_headers) ] return [ dict(zip(headers, row)) for row in rows if any(value is not None for value in row) ] finally: workbook.close()
このヘルパーは1個のセルを変更し、更新したブックのバイトデータを返します。
ダウンロード、更新、アップロードという一連のワークフローをコピーでテストしてください。返されたバイトデータをアップロードすると、リモートのブックが置き換えられます。また、openpyxl が対応していないブックの機能は保持されない場合があります。マクロが有効な .xlsm ブックではなく、.xlsx のコピーを使用してください。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20from io import BytesIO from typing import Any from openpyxl import load_workbook def update_workbook_cell( workbook_bytes: bytes, worksheet_name: str, cell_reference: str, value: Any, ) -> bytes: workbook = load_workbook(BytesIO(workbook_bytes)) try: workbook[worksheet_name][cell_reference] = value output = BytesIO() workbook.save(output) return output.getvalue() finally: workbook.close()
.xlsm ブックは読み取り専用です。 ドライバーは、マクロが有効なブックに対して読み取り操作のみ ↗をサポートします。代わりに、.xlsx として保存したコピーをダウンロード、更新、アップロードしてください。.xls 形式には対応していません。 読み取れるのは、Microsoft Excel 2007 以降で作成される Office Open XML 形式のみです。openpyxl はブックのすべての機能を保持するわけではなく ↗、一部の図形も保持されません。