0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【DataMagic】登録してみた!レイアウト定義_Excel形式 《入力》編ー其の壱

0
Last updated at Posted at 2026-06-13

はじめに

DataMagic では、以下の 8 形式のデータを扱うことが出来ます。

  • CSV
  • フォーマット
  • マルチフォーマット
  • 階層フォーマット
  • XML
  • TEXT
  • Excel
  • DB テーブル

DataMagic で TEXT 形式以外のデータを扱う場合は、そのデータのレイアウトを定義して、入出力ファイルの設定に使用します。

ここでは Excel形式 の《入力》の定義を登録してみます。

なお、Excel形式を使用するには、別途購入の "Excel Option" が必要です。

Excel形式

言わずと知れた "Excel" ファイルを扱うためのデータ形式です。

ちなみに

Excelファイルを入力する場合、Excel 2007以降の形式(.xlsx)だけが対象

 :arrow_down::arrow_down::arrow_down::arrow_down:

DataMagic Ver.3.1.0 からは、Excel 97-2003形式(.xls)の入力にも対応

Excelファイルを入出力する場合、Excel 2007 以降の形式は「.xlsx」だけが対象

 :arrow_down::arrow_down::arrow_down::arrow_down:

DataMagic Ver.3.1.7 からは、「.xlsm」の入出力にも対応

入力データ

data-maco が検証で使用する既成データと言えば、〝郵便番号データ〟か〝農林水産省の統計データ〟ですが、今回は郵便番号データの 香川県 と 沖縄県 を使用します。

なぜこの2県なのか・・・理由はズバリ:exclamation: データの容量が小さかったからです。

今回は、郵便局のサイトからダウンロードした 2つの CSVファイルを、1つの Excelブックとして保存したファイルを使用します。

Qiita_043-07.jpg

郵便番号データについては、レイアウト定義_CSV形式 編 で紹介しています。

レイアウト情報〔Excel〕

:one: Excel のレイアウトを定義する画面へは、
スタートページ > レイアウト情報[Excel]> Excel情報一覧[新規作成]
で画面を遷移させます。
(定義画面を開くルートは他にもありますが、まずはスタンダードな方法で)

Qiita_043-01.jpg

Excel形式は〝入力〟と〝出力〟で定義内容が違うので、最初に「入出力区分」を選択させられますが、定義画面上でいつでも変更は可能なので、ご安心を。

ちなみに、今回は《入力》編なので、「入出力区分」は〝入力〟を選択です。

:two: 項目の設定には〝管理Excelファイルから取り込む〟方法と、〝手動でコツコツ打ち込む〟方法の2つがあります。

なお本編では、〝管理Excelファイルから取り込む〟方法で項目を設定します。
〝手動でコツコツ打ち込む〟方法は、最後に補足として紹介します。

〝管理Excelファイルから取り込む〟方法

〝管理Excelファイルから取り込む〟方法を使って、項目を設定する場合は、下図赤枠内の「管理Excelファイル」に、入力するExcelファイルのイメージ表示に使用するファイルを指定します。

Qiita_043-02.jpg

残念ながら、今回入力ファイルに使用する郵便番号データの元ネタCSVにタイトル行は無いので、入力ファイルから取り込むことは出来ません。

この例では、項目名をならべた別のExcelファイルを作成し、そのExcelファイルから項目名を取り込みます。

ちなみに私は、こんな感じで管理Excelファイルを作ってみました。

Qiita_043-03.jpg

管理Excelファイルに、新規作成したファイル名(Book1.xlsx)を入力して[Excelファイル取り込み]をクリックすると、下図のような画面が表示されます。

今回は 表形式のデータ を全項目入力対象にするので、

Qiita_043-04.jpg

:a:「表」を選択

:b: Excelイメージの1行目の項目を全部選択
 A1 を選択(クリック)し、次にShiftを押しながら、B1 から O1 までを順に選択。
 もしくは、A1 を選択してから右端までスクロールし、Shiftを押しながら O1 を選択

:o2: [表の列として追加]をクリック

下図のような確認画面が出るので、[はい] をクリックすると、

Qiita_043-05.jpg

詳細情報に選んだ項目名がセットされます。

Qiita_043-06.jpg

間違いが無ければ、名前( ID )を付けて保存します。

データ加工情報でプレビュー表示

登録したEcxel情報が正しいかどうかを確認するために、入力ファイルをプレビュー表示してみます。

Qiita_043-08.jpg

なんとなく、イイ感じ・・・じゃないですか。

でも、ココで気づいて欲しい点が:exclamation:

Qiita_043-09.jpg

入力データの1件目:郵便番号=7600000 のレコードがぁぁ 無~い :scream:

その理由、分かりますか :interrobang:

回答編

1件目のレコードが無い理由は、
レイアウト定義の一番下にある、[開始行番号]が "2" になっているから。

Qiita_043-10.jpg

表形式のExcelデータの場合、表の一番上(先頭)はタイトル行の場合が多いです。

なので、DataMagic で表形式のExcelデータを扱う場合、項目情報の取り込みに指定する Excelファイルは、入力ファイルになることが多いです。

入力ファイルから項目情報を取得した場合、普通は取り込んだタイトル行の下からデータが始まるので、[開始行番号]は、タイトル行の一つ下の行番号がセットされます。

今回、入力ファイルにタイトル行が無いので、1行目にタイトル行を登録した新規Excel(Book1.xlsx)から項目情報を取り込んだので、[開始行番号]には "2" が設定され、1行目のレコードが抜け落ちる結果に。

[開始行番号]の値を "1" に変更して保存し、再度プレビューすると、下図のように1件目(郵便番号=7600000)から表示されました。

Qiita_043-11.jpg

付随情報

Excel情報を登録する際、〝対象シート〟と〝シート名〟を設定することで、処理対象のシートを限定するができます。

対象シート

〝対象シート〟には、「すべてのシート」「読み取るシートを指定」「除外するシートを指定」の 3つの選択肢があります。

すべてのシート
入力ファイルに複数のシートが存在する場合、すべてのシートからレコードを取得

Qiita_043-12.jpg
香川県、沖縄県の順でレコードを表示

読み取るシートを指定
シート名に記入したシートからレコードを取得

Qiita_043-13.jpg
シート名=37KAGAWA を読取対象にしたので、香川県の情報のみ表示


除外するシートを指定
シート名に記入したシート以外からレコードを取得

Qiita_043-14.jpg
シート名=37KAGAWA を除外対象にしたので、沖縄県の情報から表示

補足

〝手動でコツコツ打ち込む〟方法

他のレイアウト定義と同じように、詳細情報画面上で項目を設定していきます。

:a: 行を追加します。今回は「表」を選択して15行追加します。
Qiita_043-15.jpg

:b: 追加された行をダブルクリックするか、[編集]をクリックして項目編集画面を起動し、
  項目毎の情報を記入。

Qiita_043-16.jpg

:o2: 開始行番号の記入も忘れないように。

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?