はじめに
DataMagic では、以下の 8 形式のデータを扱うことが出来ます。
- CSV
- フォーマット
- マルチフォーマット
- 階層フォーマット
- XML
- TEXT
- Excel
- DB テーブル
DataMagic で TEXT 形式以外のデータを扱う場合は、そのデータのレイアウトを定義して、入出力ファイルの設定に使用します。
ここでは Excel形式 の《入力》の定義を登録してみます。
なお、Excel形式を使用するには、別途購入の "Excel Option" が必要です。
Excel形式
言わずと知れた "Excel" ファイルを扱うためのデータ形式です。
ちなみに
Excelファイルを入力する場合、Excel 2007以降の形式(.xlsx)だけが対象
し
か
し ![]()
DataMagic Ver.3.1.0 からは、Excel 97-2003形式(.xls)の入力にも対応
Excelファイルを入出力する場合、Excel 2007 以降の形式は「.xlsx」だけが対象
し
か
し ![]()
DataMagic Ver.3.1.7 からは、「.xlsm」の入出力にも対応
入力データ
data-maco が検証で使用する既成データと言えば、〝郵便番号データ〟か〝農林水産省の統計データ〟ですが、今回は郵便番号データの 香川県 と 沖縄県 を使用します。
なぜこの2県なのか・・・理由はズバリ
データの容量が小さかったからです。
今回は、郵便局のサイトからダウンロードした 2つの CSVファイルを、1つの Excelブックとして保存したファイルを使用します。
郵便番号データについては、レイアウト定義_CSV形式 編 で紹介しています。
レイアウト情報〔Excel〕
Excel のレイアウトを定義する画面へは、
スタートページ > レイアウト情報[Excel]> Excel情報一覧[新規作成]
で画面を遷移させます。
(定義画面を開くルートは他にもありますが、まずはスタンダードな方法で)
Excel形式は〝入力〟と〝出力〟で定義内容が違うので、最初に「入出力区分」を選択させられますが、定義画面上でいつでも変更は可能なので、ご安心を。
ちなみに、今回は《入力》編なので、「入出力区分」は〝入力〟を選択です。
項目の設定には〝管理Excelファイルから取り込む〟方法と、〝手動でコツコツ打ち込む〟方法の2つがあります。
なお本編では、〝管理Excelファイルから取り込む〟方法で項目を設定します。
〝手動でコツコツ打ち込む〟方法は、最後に補足として紹介します。
〝管理Excelファイルから取り込む〟方法
〝管理Excelファイルから取り込む〟方法を使って、項目を設定する場合は、下図赤枠内の「管理Excelファイル」に、入力するExcelファイルのイメージ表示に使用するファイルを指定します。
残念ながら、今回入力ファイルに使用する郵便番号データの元ネタCSVにタイトル行は無いので、入力ファイルから取り込むことは出来ません。
この例では、項目名をならべた別のExcelファイルを作成し、そのExcelファイルから項目名を取り込みます。
管理Excelファイルに、新規作成したファイル名(Book1.xlsx)を入力して[Excelファイル取り込み]をクリックすると、下図のような画面が表示されます。
今回は 表形式のデータ を全項目入力対象にするので、
「表」を選択
Excelイメージの1行目の項目を全部選択
A1 を選択(クリック)し、次にShiftを押しながら、B1 から O1 までを順に選択。
もしくは、A1 を選択してから右端までスクロールし、Shiftを押しながら O1 を選択
[表の列として追加]をクリック
下図のような確認画面が出るので、[はい] をクリックすると、
詳細情報に選んだ項目名がセットされます。
間違いが無ければ、名前( ID )を付けて保存します。
データ加工情報でプレビュー表示
登録したEcxel情報が正しいかどうかを確認するために、入力ファイルをプレビュー表示してみます。
なんとなく、イイ感じ・・・じゃないですか。
でも、ココで気づいて欲しい点が![]()
入力データの1件目:郵便番号=7600000 のレコードがぁぁ 無~い ![]()
その理由、分かりますか ![]()
回答編
1件目のレコードが無い理由は、
レイアウト定義の一番下にある、[開始行番号]が "2" になっているから。
表形式のExcelデータの場合、表の一番上(先頭)はタイトル行の場合が多いです。
なので、DataMagic で表形式のExcelデータを扱う場合、項目情報の取り込みに指定する Excelファイルは、入力ファイルになることが多いです。
入力ファイルから項目情報を取得した場合、普通は取り込んだタイトル行の下からデータが始まるので、[開始行番号]は、タイトル行の一つ下の行番号がセットされます。
今回、入力ファイルにタイトル行が無いので、1行目にタイトル行を登録した新規Excel(Book1.xlsx)から項目情報を取り込んだので、[開始行番号]には "2" が設定され、1行目のレコードが抜け落ちる結果に。
[開始行番号]の値を "1" に変更して保存し、再度プレビューすると、下図のように1件目(郵便番号=7600000)から表示されました。
付随情報
Excel情報を登録する際、〝対象シート〟と〝シート名〟を設定することで、処理対象のシートを限定するができます。
対象シート
〝対象シート〟には、「すべてのシート」「読み取るシートを指定」「除外するシートを指定」の 3つの選択肢があります。
補足
〝手動でコツコツ打ち込む〟方法
他のレイアウト定義と同じように、詳細情報画面上で項目を設定していきます。
追加された行をダブルクリックするか、[編集]をクリックして項目編集画面を起動し、
項目毎の情報を記入。
開始行番号の記入も忘れないように。
以上です。















