
こんにちは。CData Software Japan の杉本です。
CData Arc では、Excel コネクタを利用することで、SaaS などのデータソースから取得したデータを Excel ファイル(.xlsx)として出力したり、逆に Excel で管理している表データをフローに取り込んだりすることができます。たとえば、取引先から受け取った注文データをそのまま Excel に変換して社内の担当者に共有する、あるいは Excel で管理している発注リストをフローの起点として活用する、といったユースケースで役立ちます。本記事では、Excel コネクタの基本的な使い方として、XML からのExcel 変換と Excel からのXML 変換の2つのパターンを解説します。
Excel コネクタとは
Excel コネクタは、Excel ファイルと XML ファイルの間でデータを双方向に変換するコネクタです。Arc のフロー上に配置することで、データの入力元としても出力先としても機能します。
Excel コネクタにはTable モードとTemplate モードの2種類の動作モードがあります。
Table モード | Excel ファイルを CSV と同様に扱い、XML に変換します。Excel → XML 方向のみ対応しています。 |
Template モード | テンプレートファイルを使って変換を行います。XML → Excel・Excel → XML の双方向に対応しています。 |
XML からExcel への変換
XML データを Excel ファイルとして出力するには、Template モードを使用します。Template モードでは、出力フォーマットのひな形となるExcel テンプレートファイルを事前に用意し、そのテンプレート内に ArcScript と呼ばれるCData Arc 独自のスクリプト言語を記述することで、入力 XML の値を動的に Excel セルへ埋め込みます。
例えばkintone からデータを取得して、取得したデータをExcel に変換するケースを想定します。kintone から取得したデータ(XML ファイル)が以下のような構造とします。
1
[email protected]
001
上記のデータを表形式で出力する場合は、以下のようなテンプレートファイルを構成します。

テンプレートファイルの中では画像の赤枠箇所でExcel のメモ欄にxmlDOMSearch と呼ばれるArcScript を記載します。設定内容としてはXML ファイル内のアプリ名(ArcTest)以下の要素をループする設定になっております。そして黒枠箇所でArcTest 以下のXML に含まれる要素名を指定しており、こちらで指定した要素がExcel に出力されます。最後に青枠箇所で記載したxmlDOMSearch ブロックを閉じています(終了を記述しています)。
そのためもし同様の表形式で他のデータを出力したい場合は赤枠のxmlDOMSearch 部分の設定と、黒枠部分のxpath の要素を変更・追加頂くだけで、問題ございません。
そしてExcel コネクタにて変換モードをテンプレートとして、テンプレートファイルのExcel ファイルをアップロードします。

そしてフローを実行して、出力されるExcel が以下となります。

複数レコード・1Excel ファイルに出力する場合
先で示した例ではExcel ファイルに1レコードのみ出力されておりました。これはkintone コネクタのSelect アクションがレコード1件ずつXML ファイルを作成して、Excel コネクタに連携されているためです。そのため全てのレコードを1つのExcel ファイルにしたい場合は、kintone コネクタの高度な設定タブにあるMax Records を「-1」と指定してください。

この状態で先ほどのフローを実行すると、以下のように1つのExcel ファイルに全てのレコードが出力されます。

Excel から XML への変換
Table モード
表形式のExcel ファイルを XML に変換するには、Table モードを使用します。Table モードでは、入力した .xlsx ファイルを CSV のように扱い、各行をXML の要素として出力します。主な設定項目は以下になります。
カラムヘッダー | ONにすると1行目をXML 要素名として使用します |
開始行 | 読み込みを開始する行番号を指定します |
開始列 | 読み込みを開始する列番号を指定します |
最終列 | 読み込みを終了する列番号(未指定時は最初の空白列を自動検出します) |


例えば先ほど出力したExcel ファイルをTable モードで読み込むと(カラムヘッダーの設定をONにしています)、以下のようになります。
<レコード番号>1レコード番号>
<番号>001番号>
<メールアドレス>[email protected]メールアドレス>
<レコード番号>2レコード番号>
<番号>002番号>
<メールアドレス>[email protected]メールアドレス>
Template モード
発注書や申請書のような固定レイアウトの Excelを XML に変換する場合も、Template モードが利用できます。この場合、テンプレートファイルとしてXML ファイルを用意します。
今回は以下のような発注書 Excel を XML に変換する例を示します。

そして上記のExcel を読み取るテンプレートファイルとしてのXML ファイルの中身が以下になります。こちらでも同様に変換にArcScript を利用します。
[data.Status | def]
[data.OrderNo | def]
[data.OrderDate | def]
[data.RequestedDate | def]
[data.ShipDate | def]
[data.ShipToName | def]
[data.ShipToAddress | def]
[data.ShipToCity | def]
[data.ShipToState | def]
[data.ShipToZip | def]
[data.BillToName | def]
[data.BillToAddress | def]
[data.BillToCity | def]
[data.BillToState | def]
[data.BillToZip | def]
[row.ItemCode | def]
[row.ItemName | def]
[row.ItemQty | def]
[row.ItemUnit | def]
[row.ItemPrice | def]
[row.ItemDiscRate | def]
[row.ItemDiscType | def]
[data.TotalQuantity | def]
[data.SummaryReqDate | def]
Excel コネクタにて変換モードをテンプレートとして、テンプレートファイルをアップロードします。

そしてフローを実行すると、以下のXML ファイルが出力されます。
受信済
476696888
2015/7/8
2015/10/30
2015/10/20
株式会社TEST
東京都千代田区1-1-1
千代田区
東京都
100-0001
株式会社DISTRIBUTER
492000907210
プレート
500000
EA
495
492000907211
カップ
1234
EA
295
501234
2015/10/30
おわりに
本記事では、Excel コネクタの基本的な使い方を解説しました。製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
https://jp.cdata.com/support/submit.aspx
この記事では CData Arc™ 2026 - 26.2.9665.0 を利用しています。