jquery excelエクスポートを実現する方法
1737 ワード
Javascript自体はローカルファイルを操作する権限がないため、ActiveXを使用しない限り、これは面倒で安全ではなく、まったく使いたくない.だからページの表からデータ保存コストのファイルを得る方法は通用しない.
私たちがエクスポートしたいのは表の中のデータで、表の中のデータはまたサーバーから来たので、私たちはサーバーの上のデータをローカルに保存してファイルにすればいいのではないでしょうか.
サービス側実装コード:
CSVparserを説明する必要があるコードがあります.parseCsv(rs).CSVparserは、データベースから検出するResultSetオブジェクトをCSVデータに変換するクラスです.parseCsvメソッドのパラメータrsがResultSetオブジェクトである.csv形式の文字列データを返します
クライアントはiframeを利用してダウンロードしました.比較的一般的な方法を書いて、みんなはこの関数をあるjsファイルの中に置くことができて、使う時直接ページで呼び出すことができます
urlはデータを するservletのアドレスであり、このアドレスは ずcsv のデータを す.
まず、ページにidがdownloadcsvであるiframeがbodyタグにiframeを れていないか かを する.iframeのsrc を urlアドレスに .
エクスポートするページでbsuExportCsvを び すことがわかります(「http://localhost:8080/csvservelt)だけでいいです.
私たちがエクスポートしたいのは表の中のデータで、表の中のデータはまたサーバーから来たので、私たちはサーバーの上のデータをローカルに保存してファイルにすればいいのではないでしょうか.
サービス側実装コード:
ServletOutputStream out = null;
try{
// csv
response.setContentType("text/csv");
String disposition = "attachment; fileName=data.csv";
response.setHeader("Content-Disposition", disposition);
//
out = response.getOutputStream();
//
byte[] blobData = CSVParser.parseCsv(rs).getBytes();
out.write(blobData);
out.flush();
out.close();
}catch(Exception e){
throw e;
}finally{
if(out != null)
out.close();
}
CSVparserを説明する必要があるコードがあります.parseCsv(rs).CSVparserは、データベースから検出するResultSetオブジェクトをCSVデータに変換するクラスです.parseCsvメソッドのパラメータrsがResultSetオブジェクトである.csv形式の文字列データを返します
クライアントはiframeを利用してダウンロードしました.比較的一般的な方法を書いて、みんなはこの関数をあるjsファイルの中に置くことができて、使う時直接ページで呼び出すことができます
// url csv
function bsuExportCsv(url){
// iframe, iframe
if($('#downloadcsv').length<=0)
$('body').append("
urlはデータを するservletのアドレスであり、このアドレスは ずcsv のデータを す.
まず、ページにidがdownloadcsvであるiframeがbodyタグにiframeを れていないか かを する.iframeのsrc を urlアドレスに .
エクスポートするページでbsuExportCsvを び すことがわかります(「http://localhost:8080/csvservelt)だけでいいです.