9.7. Microsoft Excel のトランスレーター


タイプ名 excel によって認識される Microsoft Excel Translator は、クエリー機能を Microsoft Excel ドキュメントに公開します。このトランスレーターは、Gracel スプレッドシートの読み取りや、Data Virtualization の他のソースと統合できる表形式でスプレッドシートの内容を提供します。

注記

このトランスレーターは、Windows や Linux を含むすべてのプラットフォームで動作します。Translator は Apache POI ライブラリーを使用して、プラットフォームに依存しない Excel ドキュメントにアクセスします。

翻訳マッピング

以下の表は、Hel Excel ドキュメントのデータをリレーショナルデータベース用語で解釈する方法を示しています。

Expand
Excel Term平易な用語

ワークブック

schema

sheet

テーブル

データの行

cell

列の定義またはデータ

Excel のトランスレーターは「ソースメタデータ」機能を提供します。ここでは、特定の Excel ワークブックでは、その中に定義されたワークシートに基づいてスキーマをイントロスペクションおよびビルドできます。ワークシートでヘッダー列とデータ列を検出し、テーブルの正しいメタデータを定義するためのオプションがあります。

DDL の例

以下の例は、仮想データベースに Excel スプレッドシートを公開する方法を示しています。

CREATE DATABASE excelvdb;
USE DATABASE excelvdb;
CREATE SERVER connector FOREIGN DATA WRAPPER excel OPTIONS ("resource-name" 'java:/fileDS');
CREATE SCHEMA excel SERVER connector;
SET SCHEMA excel;
IMPORT FROM SERVER connector INTO excel OPTIONS (
    "importer.headerRowNumber" '1',
    "importer.ExcelFileName" 'names.xls');
Copy to Clipboard Toggle word wrap

ドキュメントのヘッダー

Excel ドキュメントにヘッダーが含まれる場合は、インポートプロセスに従って、テーブル作成プロセスの列名としてセルヘッダーを選択します。インポートプロパティーの定義に関する情報は、以下の表を参照してください。また、「 Importer Properties in JDBC translators 」を参照してください。

プロパティーのインポート

Import properties: VDB のデプロイメント時にスキーマ生成の部分をガイドします。これはネイティブインポートで使用できます。

Expand
プロパティー名説明デフォルト

importer.excelFileName

メタデータをインポートする Excel ドキュメントの名前を定義します。これは、ファイルパターン(*.xls)として定義できますが、パターンとして定義されている場合は、すべてのファイルが同じ形式である必要があり、トランスレーターはメタデータをインポートする任意のファイルを選択します。ファイルパターンを使用して、同じディレクトリー内の複数の Excel ドキュメントからデータを読み取ります。1 つのファイルの場合は、絶対名を指定します。

必須

importer.headerRowNumber

列名として使用するセルのヘッダー情報を定義します。

任意。デフォルトはシートの最初のデータ行です。

importer.dataRowNumber

データ行の開始先の行番号を定義します。

任意。デフォルトはシートの最初のデータ行です。

Excel スプレッドシートの情報を正しく解釈できるようにするには、前述のインポータープロパティーをすべて定義することが推奨されます。

注記

列の純粋に数字のセルには、混合型を含む文字列形式が含まれるため、10 進数表現に一致する文字列形式が設定されるため、文法の値には .0 が追加されます。テキスト表現を正確に指定する必要がある場合は、セルは文字列値である必要があります。文字列の値を、引用符(')または 1 つのスペースでセルの数値の前に付けることで強制することができます。

Translator エクステンションプロパティー

  • Excel 固有の実行プロパティー

    FormatStrings
    ワークシートの形式に従って、文字列列の文字列以外のセルの値をフォーマットします。デフォルトは false です。
  • メタデータ拡張のプロパティー

    Table、Column、procedure など、スキーマアーティファクトで定義されるプロパティー。これらのプロパティーは、トランスレーターがソースシステムと対話または解釈する方法を説明します。すべてのプロパティーは以下の名前空間で定義されます: " http://www.teiid.org/translator/excel/2014[http://www.teiid.org/translator/excel/2014\]"。これには、認識されたエイリアス teiid_excel もあります。

Expand
プロパティー名スキーマアイテムプロパティーが属する説明必須

FILE

テーブル

Excel ドキュメント名または名前パターン(*.xls)を定義します。ファイルパターンを使用すると、複数のファイルからデータを読み取ることができます。

はい

FIRST_DATA_ROW_NUMBER

テーブル

レコードがシートで開始する行番号を定義します(すべてのシートに適用)。

オプション

CELL_NUMBER

テーブルのコラム

特定の列のデータの読み取りに使用するセル番号を定義します。

はい

以下の例は、エクステンションメタデータプロパティーを使用して定義される表を示しています。

CREATE DATABASE excelvdb;
USE DATABASE excelvdb;
CREATE SERVER connector FOREIGN DATA WRAPPER excel OPTIONS ("resource-name" 'java:/fileDS');
CREATE SCHEMA excel SERVER connector;
SET SCHEMA excel;
CREATE FOREIGN TABLE Person (
                ROW_ID integer OPTIONS (SEARCHABLE 'All_Except_Like', "teiid_excel:CELL_NUMBER" 'ROW_ID'),
                FirstName string OPTIONS (SEARCHABLE 'Unsearchable', "teiid_excel:CELL_NUMBER" '1'),
                LastName string OPTIONS (SEARCHABLE 'Unsearchable', "teiid_excel:CELL_NUMBER" '2'),
                Age integer OPTIONS (SEARCHABLE 'Unsearchable', "teiid_excel:CELL_NUMBER" '3'),
                CONSTRAINT PK0 PRIMARY KEY(ROW_ID)
             ) OPTIONS ("NAMEINSOURCE" 'Sheet1',"teiid_excel:FILE" 'names.xlsx', "teiid_excel:FIRST_DATA_ROW_NUMBER" '2')
Copy to Clipboard Toggle word wrap

ROW_ID 列を使用した拡張機能

拡張メタデータプロパティー CELL_NUMBER の値が ROW_ID で定義されている場合、その列の値には Excel ドキュメントの行情報が含まれます。この列に プライマリーキー のマークを付けることができます。この列は、比較述語、IN 述語、および LIMIT などの制限された機能セットを持つ SELECT ステートメントで使用できます。その他の列はすべて、クエリーの述語として使用できません。

ヒント

ソースメタデータのインポートは、Ge Excel ドキュメントのスキーマを作成するための唯一の方法ではありません。ソーステーブルを手動で作成してから、完全に機能モデルを作成する必要があるエクステンションプロパティーを追加することもできます。メタデータのインポートは、前述の例と同じスキーマモデルになります。

Excel のトランスレーターは、次の制限があります。

  • ROW_ID は直接変更したり、挿入値として使用したりできません。
  • UPDATE および INSERT の値はリテラルでなければなりません。
  • 更新はトランザクションではありません。つまり、書き込みロックは、ファイルが書き込まれている間に保持されますが、更新全体では保持されません。これにより、ある更新が別の更新を上書きする可能性があります。

挿入された行の ROW_ID は、生成されたキーとして返されます。

ネイティブクエリー

この機能は Excel のトランスレーターには適用されません。

直接クエリーの手順

この機能は Excel のトランスレーターには適用されません。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat