[[IOP-toolの使い方]] *機能拡張3:一覧データをCSV形式でダウンロード [#d20a2992] **1.CSVファイル出力用Javaソース作成 [#zd592879] CSVファイル出力用Javaソースファイル出力 +メニュー画面で 「■ファイル作成 CSVファイル出力用Javaソースファイル出力 」 を選択 #ref(CSVOUT_01.png,wrap,80%) +CSVファイル出力用Javaソースファイル出力で 、入力して、「処理開始」ボタンをクリック~ #ref(CSVOUT_02.png,wrap,80%) **2.一覧画面にCSVダウンロードボタンを追加 [#i38dbf70] 一覧画面htmlに以下の記述を追加~ <input type="submit" name="download" value="CSVダウンロード"> **3.一覧画面JavaクラスにCSVダウンロード処理を追加 [#y03e1457] 一覧画面Javaクラスに public PirkaRespons download() メソッドを追加し、処理を実装する。~ サンプルでは検索を行い、抽出データのCSVファイルをダウンロードする public PirkaRespons download() { FieldMap fm = getFieldMap(); byte[] buffer = null; // 出力するファイル名 String filename = "userlist.txt"; // 出力するデータを検索して抽出するオブジェクトを作成 // オブジェクトはRecordSearchインターフェースを実装していること(このサンプルではUserlistSearcherDaoを使用) UserlistSearcherDao dao = new UserlistSearcherDao(); // CSV出力クラスのオブジェクト作成 UserlistCsvFileOut myObj = new UserlistCsvFileOut("FileName.txt", true); FileInputStream fis = null; ByteArrayOutputStream bo = null; try { // 検索条件初期化 dao.clearSearchParameter(); // 検索条件追加 ユーザーID(前方一致) dao.addSearchParameter("userId", UserlistSearcherDao.like, fm.getValueString("param_field_userId")); // 検索条件追加 氏名(前方一致) dao.addSearchParameter("userName", UserlistSearcherDao.like, fm.getValueString("param_field_userName")); // 検索を行い、抽出データをCSV形式に出力 dao.search(myObj); buffer = new byte[(int) new File("FileName.txt").length()]; fis = new FileInputStream(filename); bo = new ByteArrayOutputStream(); while (fis.read(buffer) > 0) { bo.write(buffer); } bo.close(); fis.close(); buffer = bo.toByteArray(); } catch (Exception e) { e.printStackTrace(); return this; } finally { try { if (bo != null) { bo.close(); } if (fis != null) { fis.close(); } } catch (Exception e2) { e2.printStackTrace(); return this; } } // 保存するファイル名 String saveFilename = "userlist" + "_" + System.currentTimeMillis() + ".csv" // ダウンロードダイアログの表示 return new PirkaFileDownloaderFromBytes(saveFilename , buffer); } **4.CSVファイルのダウンロード [#d4c6cd5a] +一覧画面を開き、検索条件を入力しないで検索開始ボタンを押す(全件表示) #ref(CSVOUT_03.png,wrap) +検索条件を入力してCSVダウンロードボタンを押し、CSVファイルのダウンロードを行う #ref(CSVOUT_04.png,wrap) +ダウンロードしたCSVファイルを確認する #ref(CSVOUT_05.png,wrap)