[[pirka]]~
[[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 &#x50;irkaRespons 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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS