CookBook

BISやFormaのテーブルにCSVファイルからのインポート・エクスポートを行うには

投稿日:

このCookbookでは、明細テーブルやグリッドテーブルとCSVファイルを連携する方法を紹介します。
この方法を活用することにより、明細テーブルやグリッドテーブルへの入力の手間を軽減できます。

完成イメージ

サンプルでは、グリッドテーブルや明細テーブルとCSVファイルを組み合わせた入出力を行います。

各ボタンから実行できる操作は以下の通りです。

  • Export from Grid Table
    グリッドテーブルのデータをCSVファイルとして出力できます。
  • Import to Grid Table
    CSVファイルのデータをグリッドテーブルに取り込むことができます。
  • Download CSV template file
    このサンプルでのCSVファイルのテンプレートをダウンロードできます。
  • Export from Detail Table
    明細テーブルのデータをCSVファイルとして出力できます。
  • Import to Detail Table
    CSVファイルのデータを明細テーブルに取り込むことができます。

完成サンプル

以下はBIS定義のサンプルです。
ダウンロードして一括インポート機能からご利用ください。

サンプルに含まれる定義情報は以下の表の通りです。

種類 定義名 補足説明
BIS定義 CB113726 関連するFormaアプリケーション定義やIM-Workflowのフロー定義等の情報も含まれます。
CSVエクスポート 【SAMPLE】CSVエクスポート -
CSVインポート 【SAMPLE】CSVインポート -

上記のサンプルの利用条件は以下の通りです。

  • intra-mart Accel Platform(Advanced) 2016 Summer(8.0.14), IM-BIS 2016 Summer(8.0.11)以降のバージョンであること
  • サンプルデータのインポートが行われていること

サンプルは、intra-mart Accel Platform(Advanced) 2016 Summer(8.0.14), IM-BIS 2016 Summer(8.0.11)で動作確認を行っています。

レシピ

  1. CSVインポート・エクスポートのデータソース定義を登録する。
  2. グリッドテーブルや明細テーブルとデータソース定義をマッピングする。
  3. グリッドテーブルや明細テーブルのデータをCSVファイル経由で入出力する。

1. CSVインポート・エクスポートのデータソース定義を登録する。

CSVインポート・エクスポートを利用するためのデータソース定義を登録しましょう。

1.1. CSVインポートのデータソース定義を登録する。

以下の手順でCSVインポートのデータソース定義を登録してください。

  1. 「サイトマップ」-「IM-BIS」-「データソース定義」をクリックしてください。
  2. データソース一覧の「登録」アイコンをクリックしてください。
  3. データソース種別には「CSVインポート」を選択してください。
  4. データソース名を入力後、「登録」をクリックしてください。

詳しくは以下のドキュメントをご覧ください。

以下の手順でCSVインポートのファイル形式を設定してください。

  1. CSVファイルのヘッダーに項目名を表示するために「スキップ行数(先頭)」に「1」を入力してください。
  2. CSVファイルの列数に合わせて、データフォーマットに列を追加または削除してください。
  3. データフォーマットの列名を入力してください。
  4. 各列のデータ型を選択後、「登録」をクリックしてください。
    im_cookbook_113726_1

詳しくは以下のドキュメントをご覧ください。

1.2. CSVエクスポートのデータソース定義を登録する。

以下の手順でCSVエクスポートのデータソース定義を登録してください。

  1. 「サイトマップ」-「IM-BIS」-「データソース定義」をクリックしてください。
  2. データソース一覧の「登録」アイコンをクリックしてください。
  3. データソース種別には「CSVエクスポート」を選択してください。
  4. データソース名を入力後、「登録」をクリックしてください。

詳しくは以下のドキュメントをご覧ください。

以下の手順でCSVエクスポートのファイル形式を設定してください。

  1. CSVファイルの出力対象の列に合わせて、データフォーマットに列を追加または削除してください。
  2. データフォーマットの列名を入力してください。入力した列名がCSVファイルのヘッダーに列名として出力されます。
  3. 各列のデータ型を選択後、「登録」をクリックしてください。
    im_cookbook_113726_2

詳しくは以下のドキュメントをご覧ください。

2. グリッドテーブルや明細テーブルとデータソース定義をマッピングする。

次に、フォーム上の明細テーブルやグリッドテーブルと登録したデータソース定義のマッピングを設定しましょう。

2.1. データマッパーを表示する。

以下の手順でデータマッパーを表示してください。

  1. フォーム・デザイナで以下のアイテムを配置してください。
    • ボタン(インポート)
    • ボタン(エクスポート)
    • グリッドテーブル
    • 明細テーブル
      im_cookbook_113726_3
  2. 「アクション設定」をクリックしてください。
  3. 「アイテムイベント」タブをクリックしてください。
  4. 「ボタン(インポート)」または「ボタン(エクスポート)」の「設定」アイコンをクリックしてください。
  5. 「追加」をクリックしてください。
2.2. グリッドテーブル・明細テーブルとCSVファイルのデータソース定義のマッピングを設定する。

CSVファイルから明細テーブルやグリッドテーブルに入力する場合、データマッパーの設定は以下の通りです。

  • リクエスト
    • ボタン(インポート)と「csvParam」をマッピングしてください。
      im_cookbook_113726_6
  • レスポンス
    • データソース定義(CSVインポート)で設定した列と明細テーブルやグリッドテーブルの列をマッピングしてください。
      im_cookbook_113726_7

明細テーブルやグリッドテーブルからCSVファイルを出力する場合、データマッパーの設定は以下の通りです。

  • リクエスト
    • データソース定義(CSVエクスポート)で設定した列と明細テーブルやグリッドテーブルの列をマッピングしてください。
      im_cookbook_113726_4
  • レスポンス
    • ボタン(エクスポート)と「csvParam」をマッピングしてください。
      im_cookbook_113726_5

サンプルの「Download CSV template file」のように空のテンプレートを出力したい場合、リクエストを設定せずにレスポンスのマッピングを設定してください。

詳しくは以下のドキュメントをご覧ください。

3. グリッドテーブルや明細テーブルのデータをCSVファイル経由で入出力する。

最後に、申請画面上でグリッドテーブルや明細テーブルに対するCSVファイルの入出力を実行してみましょう。

  1. 申請画面を表示してください。
  2. グリッドテーブルや明細テーブルに入力後、「Export from Grid Table」または「Export from Detail Table」をクリックしてください。
  3. テーブルのデータがCSVファイルとして出力されることを確認できます。
  4. 出力したファイルの内容を変更して保存してください。
  5. 「Import to Grid Table」または「Import to Detail Table」をクリックしてください。
  6. 先の手順で保存したファイルを追加後、「確定」をクリックしてください。
  7. ファイルの内容がグリッドテーブルや明細テーブルに反映されることが確認できます。

-CookBook
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

FormaのスクリプトからAjax処理を呼び出す

このCookBookでは、Formaのスクリプトからサーバサイドロジックを呼び出し、Ajax処理を実現する方法をご紹介します。 IM-LogicDesignerを利用し、サーバサイドロジックとその呼び …

no image

画面UI部品(imuiValidate)のバリデーションメッセージを任意の場所に表示する方法

このCookBookでは、画面UI部品のバリデーションメッセージを任意の場所に表示する方法について紹介しています。 intra-mart Accel Platform では、画面上に配置したUI部品の …

no image

IM-BloomMaker と IM-LogicDesigner を組み合わせて、請求書を Excel でダウンロードする方法

この CookBook では intra-mart Accel Platform 2021 Spring から追加された、「IM-LogicDesigner フロールーティングにリクエストを送信する」 …

no image

Formaの実行画面でアクセスログを収集する

このCookBookでは、Formaの実行画面で、アクセスログを収集する方法を紹介します。 サンプルでは、登録画面を開いた時点とデータ登録を実行した時点で、ログを収集します。 ログを収集することで、登 …

no image

Docker Swarm を利用して Resin のクラスタリングを構築する。

この CookBook では、Docker Swarm を利用して Resin のクラスタリングを構築する手順について紹介しています。 Docker Swarm を利用することで、複数マシンにまたがっ …