# Excelデータの読み取り

Excelデータを加工する場合、Excelデータの読み取りについて次の点に留意してください。

(1) 管理Excelファイルの指定

Excel情報のExcelイメージ表示に使用するファイルを管理Excel ファイルといいます。

Excel上で「1セル」または「範囲指定」で項目を選択するときに、Excelファイル取り込み設定画面に表示して、マウスの操作で設定します。

管理Excelファイルの格納場所を次に示します。

- DataMagic Serverグレードの場合:DataMagic Serverが稼働しているOS

- DataMagic Desktopグレードの場合:DataMagic Desktopが稼働しているOS

(2) Excelファイルの拡張子

DataMagicでは、入力ファイル、マッチングファイル、仮想テーブルは、Excel 97-2003形式（.xls）およびExcel 2007以降の形式（.xlsxまたは.xlsm）を使用できます。拡張子に応じてExcelのファイル形式は自動的に判別されます。なお、出力ファイルはExcel 2007以降の形式（.xlsxまたは.xlsm）で出力できます。Excel 97-2003形式（.xls）のExcelファイルを出力先にするデータ加工は、DB接続情報とDBテーブル情報を使用してください。

(3) 読み取るシートの単位

ブックファイルからデータを読み取る際、次に示す方法で対象シートを選択できます。

- すべてのシート

- 除外するシートを指定

- 読み取るシートを指定

対象シートの選択方法と対象シート名の指定を目的に合わせて組み合わせると、1シート単位または複数シート単位での読み取りができます。

図4.92 シートの読み取りイメージ

a) 1シート単位で読み取る方法

次に示す設定で、ブックファイルを1シート単位で読み取りできます。

- 1ブックファイルに1シートだけの場合

  次のどちらかを設定します。

  - “すべてのシート”を選択する

  - “読み取るシートを指定”を選択し、そのシート名を指定する。

- 1ブックファイルに複数シートある場合

  次のどちらかを設定します。

  - “読み取るシートを指定”を選択し、読み取りたいシート名を1つだけ指定する。

  - “除外するシートを指定”を選択し、読み取りたいシート以外のシート名を複数指定する。

    読み取りたいシート名に、日付など運用システムの環境に応じて動的に変化する値が使われる場合に適している方法です。

= 備考 =

複数のシート名を指定する場合、シート名を「/（スラッシュ）」で区切って指定してください。

<指定例>

b) 複数シート単位で読み取る方法

注意

データを読み取る対象のシートは、同じフォーマットである必要があります。

次に示す設定で、ブックファイルを複数シート単位で読み取りできます。

- “すべてのシート”を選択する。

  全シートを読み取りの対象とします。

- “読み取るシートを指定”を選択し、読み取りたいシート名を複数指定する。

  一部のシートだけを読み取り対象にする場合に適している方法です。読み取る対象のシート名を、「/（スラッシュ）」で区切って指定します。

- “除外するシートを指定”を選択し、読み取りたいシート以外のシート名を1つまたは複数指定する。

  ブックファイル内に表紙やメモなどの固定的な内容のシートが含まれ、それらのシートを読み込みの対象外にしたい場合に適している方法です。

(4) シート内のデータの読み取り方法

シート内からのデータの読み込みには、次に示す方法があります。レコード単位での読み取りとセル単位での読み取りは混在できます。

レコード単位での読み取り

  特定のセルの範囲のある1行を1レコードとみなして、縦方向に読み取る方法です。データ行が連続している、表形式タイプとなっているExcelデータを読み込むのに適している方法です。

セル単位での読み取り

  セルの場所を直接指定して読み取る方法です。読み取りたいデータの場所が点在しているExcelデータを読み込むのに適している方法です。

図4.93 Excelデータの読み取りのイメージ

a) レコード単位での読み取り

レコード単位での読み取りでは、項目名に任意の項目の名前を指定します。

列には、「列アルファベット」を指定します。

例：「A」

また、次に示す方法を組み合わせた読み取りができます。

- 読み取り開始位置の指定

  「開始行番号」に指定した行番号からデータの読み取りが開始されます。ヘッダ部分に情報がある表形式のデータでも読み取ることができます。

- 読み取り終了位置の指定

  読み取り終了位置は、「終了位置」に指定します。

  - 「終了位置」に“データの終わり”（データ最終行で終了）

    罫線が設定されている最終行や、データの最終行など、Excelで最終行として認識している行までを読み取りの終了範囲とします。

  - 「終了位置」に“空のレコード”（空白レコードで終了）

    1行すべて空白のセルが出現した行を読み取りの終了範囲とします。

  - 「終了位置」に“特定の列が空の行”（特定の列が空白で終了）

    1行のうち、「対象の列」に指定した列で空白のセルが出現した行を読み取りの終了範囲とします。

  - 「終了位置」に“指定行”（任意の指定行で終了）

    「終了行番号」に指定した行までを読み取りの終了範囲とします。

  - 「終了位置」に“空のセルが出現した行”（空白セルで終了）

    テーブルの範囲で指定した任意の列に空白のセルが出現した行を読み取りの終了範囲とします。

図4.94 レコード単位での読み取り機能の概要

b) セル単位での読み取り

セル単位での読み取りでは、項目名に任意の項目の名前を指定します。

セルには、「列アルファベット行番号」を指定します。

例：「A1」

また、次に示すパターンのデータの読み取りができます。

- 単一セルの読み取り

  シート内の1つのセルだけからデータを読み取ります。セル単位での読み取り方法で、基本となる指定方法です。

- 複数セルの読み取り

  単一セルでの指定方法を繰り返すことで、シート内の複数のセルのデータを読み取ります。セルの範囲を表す「:」を利用した、連続する複数のセルを指定する方法については対応していません。

- 数式セルの読み取り

  セルに数式が設定されている場合、計算結果の値をデータとして読み取ります。

- エラーセルの読み取り

  数式の計算結果にエラー値が表示されている場合、空白のセルとしてデータを読み取ります。エラーとして処理を異常終了させることもできます。

- 結合セルの読み取り

  セルが結合されている場合、結合範囲の一番左上のセルの値としてデータを読み取ります。それ以外のセルは、該当するデータ型の初期値が読み込まれます。例えば、数値のデータを読み込む場合、“0”の値が読み込まれます。

図4.95 セル単位での読み取り機能の概要