サポート > PC-MAPPING ヒント集 > インポート > Microsoft Excelデータのインポート
Microsoft Excelデータのインポート
■ 操作方法
  1. 以下のエクセルデータ(*.xlsx)をインポートするとします。
    [ホーム]-[ファイル]-[新規]-[外部データベース(ADO)]を実行します。

  2. [ADOによるデータベース接続]ダイアログボックスが表示されますので、以下の手順で接続を設定して下さい。
    1. <テンプレート>ボタンから、ドライバー・プロバイダー(ここでは「ODBC Driver Excel(*.xlsx)」)を選択します。
    2. [MS-Excelデータファイル]ダイアログボックスが表示されますので、Excelファイルを選択します。
    3. 「接続文」が正常に作成されると、「処理タイプ」の<テーブルリスト>ボタンから、2.で指定した外部データベースが持つ[テーブル]タイプのデータが表示されます。
      読み込みたいシート名の前のチェックボックスをOnにします(複数指定可)。

  3. <OK>ボタンを押すと、インポートが実行されます。

    ※単精度浮動小数点型や倍精度浮動小数点型等、実数型データをインポートした場合、PC-MAPPINGでは全て実数型フィールドの小数点3桁で取り込まれます。
    しかし、インポートされたデータは四捨五入されたわけではありません。表示上、デフォルトとして小数点3桁になっているだけですので、必要であれば、PC-MAPPING側で小数点桁数を変更して下さい。

    ▼ インポートされたデータベースの設定ダイアログボックス

  4. ドライバー・プロバイダーを経由してインポートした場合、外部データベースとリンクされた状態でインポートされます。
    リンクを解除したい場合は、[データベース]-[設定]-[外部リンク]-[外部DBリンクプロパティ]を実行します。
    [ADOによるデータベース接続]ダイアログボックスが表示されますので、[リンクを解除してレコードの実体を通常のDBとしてローカルファイルに保存]ラジオボタンを選択し、<OK>ボタンを押します。

■ 注意
  • 地番など、半角ハイフン「-」を含む半角文字列をODBC経由でインポートすると、そのセルデータが欠落したり、「0」となってしまう場合があります。
    ▼ インポートするXLSファイル
    ▼ インポート結果
    これはODBC/DAO/ADOの仕様であり、Excelファイル経由による対処方法はありません。
    ExcelファイルをCSV形式に保存してインポートして下さい。
    また、上記例のような地番データは、計算フィールドの文字列分解を利用して親番・枝番を分ける事ができますのでご利用下さい。
    ヒント集[計算フィールド] 使用例(3) 文字列の分解

  • ExcelやAccess等、外部データベースの取り込みを行うと、取り込んだデータベースの[属性フィールドの設定]ダイアログボックスでスタイルやデータベースリンクなど各種設定がグレーアウトされて変更できません。
    Ver.6から属性データベースに「編集可」「編集不可」を設定できる機能が追加された事に伴い、外部データベースの取り込みを行ったデータに関しては「編集不可」の設定がされています。
    「編集可」にしたい場合は、「■ 操作方法-4.」の方法でリンクを解除して下さい。

■ 補足
  • 通常、Excelデータを読み込むとドライバーによって数値は全て実数としてインポートされます。
    オプションを用いると、実際に読み込まれたデータを判定して整数型と判定できる場合はこれを整数型に変換する事ができます。
    1. 「■ 操作方法-2.」の[ADOによるデータベース接続]ダイアログボックスで、「整数値をデータとしてもつ実数型を整数型に変換する」チェックボックスをONにします。
    2. 以下のように、整数値を持つ実数型のフィールドを整数型に変換してインポートされます(「■ 操作方法-3.」と比較して下さい)。

      ▼ インポートされたデータベースの設定ダイアログボックス
  • Excel側で参照範囲を定義する以外に、[ファイル]-[印刷範囲]-[印刷範囲の設定]を設定すると、「テーブル」ラジオボタンのドロップダウンリスト中に「テーブル名$Print_Area」が表示されます。
    ここから指定した範囲のインポートを行なう事ができます。
  • Office2003ではワークシートに256列までの制限があります(Office2007以降はこの制約は解消)。そのため、データのIN/OUTでフィールド数の欠損が起こる場合がありますのでご注意下さい。
    ※PC-MAPPING自体には論理的な制約はなく、メモリのある範囲で取り込み可能です。
  • Excelデータインポートの際、データの1行目はフィールド名と解釈されます。
    そのため、元データにヘッダー行(フィールド名の行)がない場合は、一行目のレコードがフィールド名としてインポートされますので、ご注意下さい。