jquery excelエクスポートを実現する方法

1737 ワード

Javascript自体はローカルファイルを操作する権限がないため、ActiveXを使用しない限り、これは面倒で安全ではなく、まったく使いたくない.だからページの表からデータ保存コストのファイルを得る方法は通用しない.
私たちがエクスポートしたいのは表の中のデータで、表の中のデータはまたサーバーから来たので、私たちはサーバーの上のデータをローカルに保存してファイルにすればいいのではないでしょうか.
サービス側実装コード:
 
  
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("