この記事では、Excel/PDF出力として一覧画面からのExcel出力を行います。
※注:PDF出力も同様の要領で行う事ができます。
今回作成するカスタマイズの例
一覧画面からの出力を行う際も、これまでに学んだ「カスタマイズを作成する前におこなうこと」や「カスタマイズ作成の主な流れ」の基本的な手順は変わりありません。
出力する際に必要なテンプレートファイルの記述方法を理解していただければ、汎用的に活用いただけます。
※参考:詳細画面からのPDF出力
今回は、「商品リスト」アプリに登録しているレコード情報を元に、一覧画面に設置したボタンを押下した時にExcelファイルを出力します。
弊社サポートサイトにて配布しております、「sample_商品リストテンプレート」を使って出力を行っていただきますと、以下のような形で出力されます。
アプリの準備
2つ、アプリが必要となりますので準備します。
アプリは自分で準備する事もできますが、次のページからアプリテンプレートをダウンロードして登録する事もできます。
カスタマインの歩き方 カスタマイズお試し用ファイルダウンロード
「商品リスト」アプリ
※フィールド名とフィールドコードは同じものを指定
「出力テンプレート」アプリ
※フィールド名とフィールドコードは同じものを指定
テンプレートファイル
Excel/PDF出力をするカスタマイズについては、カスタマイズを作成する前に、テンプレートファイルを作成して、「出力テンプレート」アプリに登録を行います。
こちらについては、この記事の中で順に進めて作成していただくのが理解しやすくおすすめですが、次のページからテンプレートファイルをダウンロードして作成に代える事もできます(ただし、最終形のファイルのみ準備されています)。
カスタマインの歩き方 カスタマイズお試し用ファイルダウンロード
テンプレートファイルを作成
「商品リスト」アプリの一覧画面から、商品リスト一覧を出力するためのテンプレートファイルを作成します。(参照:「テンプレートファイル作成時のポイント」)
「商品リスト」アプリで出力させるフィールドコード(商品画像、型番、商品名、価格、特記事項)を確認し、テンプレートファイルに設定してみましょう。
商品リスト一覧で選択した複数レコードを出力するためには、レコード数分繰り返して出力を行う$FOREACH および $ENDを使用します。
※詳細画面からのPDF出力でテーブル行数分を出力する際には$FOREACH(フィールドコード) の記述でしたが、パラメーター「データレコード」で出力するレコードを指定する場合は(フィールドコード)部分は不要です。
※gusukuコマンド入力の$や()は必ず半角で入力してください。
テンプレート記述例
商品画像フィールドに登録しているファイルを出力するための記述は、$IMG(商品画像)(0)と指定します。
※$IMG(商品画像)(0)の「(0)」の部分は、商品画像フィールドに登録している1つ目のファイルを示しています。
テンプレートファイルを作成したら、「出力テンプレート」アプリに登録しておきます。
カスタマイズ作成
次に、Excel出力をするためのカスタマイズを作成します。
まず、一覧画面を表示した際にレコードを選択するためのチェックボックスと出力ボタンを設置します。
出力ボタン押下した際にやること「キーを指定してレコードを取得する」を使用して、先ほど作成した商品リストテンプレートを登録したレコードを取得しておきます。
また、「一覧で選択されたレコードを取得する」を使用して、チェックボックスで選択したレコードを取得します。
Excel出力を行うために、「Excelを出力する」を使用します。この「やること」では取得したレコード情報をもとにExcelファイルを生成・出力します。
やること「Excelを出力する」で設定するパラメーターは、やること「PDFを出力する」と変わりありませんので、まずは設定してみましょう。
※参考:詳細画面からのPDF出力 の「カスタマイズ作成」節
一覧で選択したレコードが出力されたでしょうか。
出力されない場合は、次項の「間違ったカスタマイズ」を見てみましょう。
間違ったカスタマイズ
上のカスタマイズですと「データレコード」を選択していないので、一覧で画面に表示されているレコードが出力されてしまいます。今回の場合は、一覧で選択したレコードを出力したいので、「データレコード」には「一覧で選択されたレコードを取得する」のアクション番号を指定する必要があります。
正しいカスタマイズ
「データレコード」を選択すると、一覧で選択したレコードが出力できます。
以上で商品リスト一覧のExcel出力をするカスタマイズは完成です。
一覧で選択したレコードの内容は正しく出力されたでしょうか?
もし意図した通りに出力されない場合は、「sample_商品リストテンプレート」の記述を確認してみましょう。このテンプレートファイルを利用して、出力内容を確認するためには、「出力テンプレート」アプリに登録しているテンプレートファイルを変更して出力をお試しください。
一覧画面からレコード別シート出力
では次に、一覧で選択したレコードの商品ごとの詳細をシートに分けたテンプレートファイルを作成します。
事前にご用意しました「sample_商品リストテンプレート(詳細)」で出力を行いますと以下のような形で出力されます。
まず、先ほど使用した「商品リストテンプレート」にシートを追加し、シートに出力したい内容(型番、商品名、価格、商品画像、特記事項の各フィールド)を記述します。
(テンプレート記述例)
使用するgusukuコマンドは先ほど使用したものと変わりありません。
一覧で選択したレコード数分の詳細をシート毎に出力するためには、テンプレートのシート名先頭に「#」を付けます。
このように記述することで、自動的にレコードの数だけシートが複製されます。
(テンプレート)
(出力後)
「#商品詳細」シートも含めたテンプレートファイルを「出力テンプレート」アプリに登録し、先ほど作成したカスタマイズを利用して、再度Excel出力してみましょう。
1シート目には商品リスト、2シート目以降に商品ごとの詳細シートが出力されたかを確認してみてください。
おわりに
この記事では、Excel/PDF出力の例として、一覧画面からのExcel出力例をご説明しました。
ぜひExcel/PDF出力についても、色々と試してみてくださいね。
ご不明な点がございましたら、チャットでお問い合わせください。













