【LANSA Tips】リストデータのファイル出力

2024年11月1日

World WideのLANSA技術フォーラムに投稿されたトピックと、日本のお客様からのお問い合わせへの回答の中から、皆様にお役に立つLANSAの開発テクニックやトラブルシュートに関する情報をご紹介します。

質問

リストデータをCSV、EXCEL、PDF等のファイルに出力する方法はありますか?

回答

1. メソッド Export

Webページ等のブラウザ画面のプログラムでは、#PRIM_LISTコントロールのExportメソッドを使い、画面に表示しているリストデータをCSV、XLSX、PDFファイルに出力することができます。
Exportメソッドは、Filenameパラメーターに出力するファイル名、TypeパラメーターにCsv、Pdf、Xlsxのファイルタイプを指定してください。ブラウザのダウンロードファイルとして出力されます。

メソッド Export コーディング例
#List1.Export Filename(List1.csv) Type(Csv)

メソッド Export マニュアル
https://docs.lansa.com/15/ja/lansa016/PRIM_LIST_EXPORT.htm

2. 組み込み関数 TRANSFORM_LIST、STM_FILE_WRITE

組み込み関数 TRANSFORM_LIST、STM_FILE_WRITEを使い、フォーム、ファンクション等のプログラムから、リストデータをテキストファイルに出力することができます。

組み込み関数 TRANSFORM_LIST マニュアル
https://docs.lansa.com/15/ja/lansa015/index.htm#lansa/transform_list.htm

組み込み関数 STM_FILE_WRITE マニュアル
https://docs.lansa.com/15/ja/lansa015/index.htm#lansa/stm_file_write.htm

以下のようなサーバールーチンを実行し、出力したテキストファイルをブラウザにダウンロードさせることも可能です。

サーバールーチン コーディング例
Begin_Com Role(*EXTENDS #PRIM_SRVM)

Def_List Name(#EmployeesCSV) Fields(#EMPNO#SURNAME #GIVENAME #ADDRESS1 #ADDRESS2 #ADDRESS3 #POSTCODE #PHONEHME #PHONEBUS #STARTDTER #TERMDATER #DEPTMENT #SECTION #SALARY) Type(*Working)

Srvroutine Name(DownloadCSV) Response(#Response)
Define_Com Class(#Prim_alph) Name(#FileName)
#FileName := *PART_DIR_OBJECT + Employees.csv
Select Fields(#EmployeesCSV) From_File(PSLMST)
Add_Entry To_List(#EmployeesCSV)
Endselect
* CSVファイルの作成
Use Builtin(TRANSFORM_LIST) With_Args(#EmployeesCSV #FileName O B) To_Get(#IO$STS)
* ダウンロードするファイル
#Response.ContentFile := #FileName
* ダウンロードダイアログのファイル名
#Response.AttachmentFileName := Employees.csv
* ダウンロード後のファイル削除
#Response.RemoveFile := True
Endroutine

End_Com

有償の「LANSAテクニカル・ホットライン・サービス」をご契約いただければ、過去データベースの検索から今回ご紹介した以外の技術情報を探すことも出来ます。 「LANSAテクニカル・ホットライン・サービス」のご契約についてはお問い合わせフォーム(https://www.lansa.jp/inquiryform/)よりお問い合わせください。

LANSAコミュニティに登録する

IBMi(AS/400)をご利用の企業様必読!
LANSAを利用したIBM iの活用方法・成功事例をお届け致します。