CookBook

IM-FormaDesignerでアップロードしたExcelファイルの内容を画面上に出力する方法

投稿日:2017-12-04 更新日:

このCookBookでは、IM-FormaDesignerでBISフローの申請画面にてアップロードしたExcelファイルの内容を承認画面にて出力する方法を紹介します。

完成イメージ

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

IM-LogicDesigner インポート : im_cookbook_134784_logicdesigner-data.zip
・IM-LogicDesignerのインポート機能からインポートしてください。
・手順の詳細は、以下のドキュメントを参照してください
IM-LogicDesigner ユーザ操作ガイド / 8.1. インポートを行う

BIS一括インポート用ファイル : im_cookbook_134784_bis.zip
・BISの一括インポート機能からインポートしてください。
・手順の詳細は、以下のドキュメントを参照してください
IM-BIS システム管理者 操作ガイド / 4.9. 一括インポート・エクスポートを行う

Excelファイル : im_cookbook_134784_excel.xls
・アップロードするExcelファイルのサンプルです。

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

  • IM-BIS 2017 Winter(8.0.15)以降のバージョンであること。
  • サンプルデータのインポートが行われていること。

サンプルは、IM-BIS 2017 Winter(8.0.15)で動作確認を行っています。

レシピ

  1. BISフローを作成する。
  2. ユーザ定義(Excel入力定義)を作成する。
  3. ロジックフローを作成する。
  4. データソース定義を作成する。
  5. アイテムイベントを設定する。
  6. 作成したフォーム画面にて確認する。

1. BISフローを作成する。

以下の用途を想定して、BISフローを作成します。
【申請画面】
Excelファイルをアップロードします。
【承認画面】
アップロードしたExcelファイルの内容を画面に出力します。

以下のアイテムを配置した処理画面を作成してください。
【申請画面】
・ファイルアップロード
・ボタン(BISフロー登録)
【承認画面】
・ファイルアップロード
・ボタン(イベント)
・文字列
・数値
・グリッドテーブル

2.ユーザ定義(Excel入力定義)を作成する。

このCookBookで出力するExcelファイルの内容は以下の通りです。

出力するExcelファイルの内容に沿って入力定義を作成してください

① 単一セルの項目はセル出力定義に設定してください。
② 表部分は、行数分が出力されるように範囲指定出力定義に設定してください。

3.ロジックフローを作成する。

以下のエレメントを配置したロジックフローを作成します。
【エレメント】
・getFileId(ファイルアップロード情報取得)
・getFileData(ファイルアップロード情報取得)
・sessionStorage(セッションストレージ取得)
・writeBinaryToStorage(ストレージ出力(バイナリ))
・excelUpload(ユーザ定義(Excel入力定義))

3-1.入出力定義を設定します。
入力項目は、getFileIdエレメントとgetFileDataエレメントで使用するシステムパラメータを設定してください。
サンプルでは、システムパラメータを以下のように設定しています。

キー名 文字種
imfr_application_id string
imwUserDataId string
imfr_process_key string

出力項目は、Excelファイルを画面に出力する為のパラメータを設定してください。

3-2.定数を設定します。
セッションスコープストレージの場所を、定数で定義してください。

3-3.マッピング設定を行います。

3-3-1.getFileIdエレメント
ファイルIDを取得する為、applicationIdinsertIdprocessKey を以下のようにマッピング設定してください。

3-3-2.getFileDataエレメント
Excelファイルの内容(バイナリデータ)を取得する為、applicationIdfileIdinsertIdprocessKey を以下のようにマッピング設定してください。

3-3-3.sessionStorageエレメント
セッションスコープストレージを取得する為、3-2で設定した定数をマッピング設定してください。

3-3-4.writeBinaryToStorageエレメント
3-3-3で取得したセッションスコープストレージに、3-3-2で取得したExcelファイルの内容(バイナリデータ)を出力する為、以下のようにマッピング設定してください。

3-3-5.excelUploadエレメント
画面に出力するExcelファイルの内容を取得する為、以下のようにマッピング設定してください。

3-3-6.endエレメント
3-3-5で取得したExcelファイルの内容を、3-1で設定した入出力定義の出力項目にマッピング設定してください。

4.データソース定義を作成する。

レシピ3で作成したロジックフローを、LogicDesignerのデータソース定義として設定します。
設定の方法は、以下のドキュメントを参照してください。
IM-BIS システム管理者 操作ガイド / 「データソース - 編集[LogicDesigner]」画面の操作手順

5.アイテムイベントを設定する。

レシピ3-1の入出力定義で暗黙的に連携している為、リクエストタブの設定は必要ありません。
詳細は、以下のドキュメントを参照してください。
IM-BIS 仕様書 / 9.12. 暗黙的に連携するリクエストパラメータの仕様
レスポンスタブは、レシピ3-1で設定した入出力定義の出力項目に対して画面項目とのマッピング設定してください。

6.作成したフォーム画面にて確認する。

作成した申請画面でExcelファイルをアップロードして、承認画面でEventボタンをクリックしてください。
アップロードしたExcelファイルの内容が、各画面アイテムに出力されます。

-CookBook
-,

執筆者:


  1. 初心者 より:

    Excelのデータを表示できたのですが、何度テストしても一行しかグリットテーブルに表示されません。Excel自体は複数行存在しており、全ての行が空になるまで実行するように定義してあります。

    サンプルも見直したのですが特段違ったところは見受けられませんでした。
    どこが悪いのかさっぱりわからないため、ご教授いただけたらと思います。

    • この記事の内容で出来ました より:

      records オブジェクトが配列になっていないのでは?

初心者 へ返信する コメントをキャンセル

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

関連記事

IM-BloomMaker アイコンのハイパーリンクを作成する方法

このCookBookでは、アイコンのハイパーリンクを作成する方法を紹介します。 完成イメージ 「ハイパーリンク」エレメントを使用して、文字だけではなくアイコンを組み込んだリンクを作成することができます …

no image

imuiValidateでhiddenの隠し要素をバリデーションする方法

このCookBookでは、imuiValidateでhiddenの隠し要素をバリデーションする方法について紹介しています。 今回は閉じられたimuiGadgetBar 内の入力項目に対して、クライアン …

IM-Wiki

Wiki機能の活用例

このCookbookでは、intra-mart Accel Platform 2018 Springから利用可能なWiki機能(IM-Wiki)の活用例について紹介します。 今回の記事では実際にWik …

IM-BloomMaker 「ファイルアップロード」エレメントの利用方法

このCookBookでは、 2020 Spring でリリースした「ファイルアップロード」エレメントの利用方法について説明していきます。 登録画面でアップロードしたファイルを別画面でダウンロードするこ …

IM-BloomMaker のアクション「URL ○ にリクエストを送信する」の使い方

このCookBookでは、「URL ○ にリクエストを送信する」アクションを使ってサンプル画面を作成する方法を紹介します。 2019 Summer では「URL ○ にアクセスする」でしたが、 201 …