CookBook

スプレッドシートを実行画面でExcelファイルとしてエクスポートする方法

投稿日:

このCookBookでは、スプレッドシートを実行画面でExcelファイルとしてエクスポートする方法について紹介しています。
IM-FormaDesignerの実行画面から直接、画面アイテム「スプレッドシート」をExcelファイルとしてエクスポートすることが可能になります。

完成イメージ


1. 実行画面を開きます。
2. ファイル名を入力します。
3. 出力ボタンを押下し、ブラウザのダウンロードダイアログが表示されます。

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。
なお、以下のサンプルはintra-mart Accel Platform 2019 Springの環境を利用して作成したものです。
2019 Springより前のバージョンでは正常に動作しない可能性があります。

IM-Spreadsheet Option for Accel Platformモジュールのバージョンは8.0.3です。
上記製品内のSpreadJSバージョンは12.0.7です。

ローカル環境で表示させる場合は、以下のURLにアクセスしてください。
http://localhost:8080/imart/forma/normal/view/regist_application_view/155266_spread_export
なおベースURLである以下の部分は、環境に合わせて適宜変更してください。
http://localhost:8080/imart

完成サンプルをご利用の際は、利用するユーザのロールに「Formaアプリ作成者」を設定してください。

レシピ

  1. テンプレートHTMLを編集する。
  2. 実行画面を作成する。
  3. スクリプトを作成する。

1. テンプレートHTMLを編集する。

IM-FormaDesignerのアプリケーションが実行される画面は、テンプレートHTMLというベースとなるHTMLファイル上に、各画面アイテムのHTMLが配置されて生成される仕組みになっています。

Excel出力機能を利用するために、必要なライブラリを定義しておく必要があります。

  • 以下のテンプレートファイルをカスタマイズします。

  • Excel出力機能に必要なライブラリを、template.htmlのヘッダーに追記します。

※SpreadJSバージョン12.0.7のライブラリを使用してます。利用されているバージョンに合わせてライブラリのパスを変更してください。

2. 実行画面を作成する。

IM-FormaDesignerの標準アプリケーションを作成します。

デザイナ上に以下の画面アイテムを配置します。

  • スプレッドシート
  • 文字列
  • ボタン(イベント)

3. スクリプトを作成する。

画面アイテム「スプレッドシート」をExcelとしてエクスポートするスクリプトを作成します。

  • 画面アイテム「ボタン(イベント)」のプロパティにある「スクリプト」タブに以下のスクリプトを記述します。

%フィールド識別ID%には、画面アイテム「文字列」のフィールド識別IDを記述します。
%スプレッドシートID%には、画面アイテム「スプレッドシート」のスプレッドシートIDを記述します。

以上で、実行画面からExcelファイルが簡単にエクスポートできるようになりました。

今回のようにSpreadJSのライブラリを使うことでIM-Spreadsheetに対し、様々な開発が可能になります。

※SpreadJSのライブラリはIM-FormaDesignerとしての出力物を調整したりするものではありません。
SpreadJSライブラリについては以下のGrapeCity社のマニュアルを参照してください。
SpreadJS

-CookBook
-,

執筆者:


comment

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

関連記事

結合処理で「多数決」承認機能を実現する

このCookBookでは、「多数決」承認機能を実現する方法について紹介しています。 完成イメージ 以下の完成サンプルをダウンロードしてご活用ください。 im_logicdesigner-data-14 …

スプレッドシートのバインディングデータを別途テーブルに出力する方法

スプレッドシートのJsonデータとバインディングデータは、Formaヘッダーテーブルにバイナリカラムで格納されます。 Formaヘッダーテーブルに格納されたスプレッドシートデータは、登録データ情報管理 …

no image

IM-BloomMaker コンボボックスエレメントのサジェストにサーバから取得した値を表示する

このCookBookでは、intra-mart Accel Platform 2020 Spring から利用可能になったコンボボックスエレメントのサジェストにサーバから取得した値を表示する方法につい …

no image

IM-LogicDesigner「繰り返し」「分岐」EL式の定義例

このCookBookでは、IM-LogicDesignerの「条件分岐」「繰り返し」制御要素の条件で利用するEL式について定義例を紹介しています。 ここでは主に「 IM-LogicDesigner上で …

no image

Cassandra の Docker を作成する。

この CookBook では、Cassandra の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 Cassandra の Docker イメージを作成します 実行し …

RSSRSSRSSRSS