例:Excel 2007+ を XML にマッピングする

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  データソースとターゲット > MS OOXML Excel 2007 以降のファイル
 >

例:Excel 2007+ を XML にマッピングする

以下に示す例は <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\Excel-Mapping.mfd にて確認することができます。最初の 2 つのマッピングがここでは取り上げられます。最初の 2 つのマッピングがここでは取り上げられます。

 

このマッピングの目的:

 

Excel のブック内から、(カラム C にある) PhoneExt が "1" から始まっている Person だけをフィルタリングします。
"10" をオリジナルの番号に追加/連結して、該当する従業員 (Person) の名前、苗字とともに MFCompany XML ファイルへ渡します

Excel-mapping-1-ENT

Excel-mapping.mfd (サンプル 1)

マッピングは、以下のように構成されています:

 

Altova.xlsx は ソース Excel 2007+ ワークブックです。カラム A ならびに B にて名前と苗字がそれぞれ与えられており、カラム C には電話の内線番号が入力されています。
ブックの各ワークシートに対して 「各シートを名前で表示」 オプションは無効になっています。これは「ワークブック」アイテム以下にあるワークシートのタイトルが、「ワークシート」となっていることからも確認できます。
starts-with 関数により、(カラム C の)内線番号が "1" から始まるかチェックされ、その結果が真 (true) である場合、そのレコードがフィルターコンポーネントから渡されます。
concat 関数により、"10" という文字列が各内線番号の先頭に挿入され、PhoneExt アイテムへ渡されます。
データの出力が行われる際には、ターゲットコンポーネントの MFCompany.xsd インスタンスファイルにフィルタリングされた従業員の情報が収められます。

 

4人の社員がそれぞれの詳細と共に XML ファイルへマッピングされます。

 

ex2xml01a

 

2 番目のマッピングでは、「各ワークシートを名前で表示」 オプションにより、ソース XLSX コンポーネントにある個々のワークシートが有効になった結果が表示されます。このマッピングは以下のように構成されています:

 

Admin ならびに Development ワークシートの両方がブックアイテム以下に表示されます。
ターゲットコンポーネントへの接続は、Admin ワークシートからのみ行われています。

 

Excel-mapping-2-ENT

Excel-mapping.mfd (サンプル 2)

マッピングの結果では 2 人の従業員が XML ファイルへマッピングされます。

 

ex2xml01b


(C) 2019 Altova GmbH