1

jQuery ダイアログ ウィンドウから Excel をエクスポートする機能を作成する必要があります。アンカー リンクがあり、Struts アクション クラスに移動するリンクをクリックして、DB からデータを取得してエクスポートします。

次のような jQuery を使用してメソッドを呼び出しています。

jQuery.ajax({
     url : '<s:url action="partexport"/>',
     data : "filters.productNbr" : $("#productsTextArea1").val()
});

Struts アクション クラス :

public String method {
    -----------------
    method to call backend...
    --------------------------
    httpServletResponse.setContentType("application/vnd.ms-excel");
    String filename = filters.getPeriod() + "_" +filters.getRegion() ;
    httpServletResponse.setHeader("Content-disposition",
    "attachment; filename="+filename+".xls");
    ServletOutputStream outputStream = httpServletResponse.getOutputStream();
    outputStream.flush();
    return NONE; 
}

を返しますが、シートnullをダウンロードすることを想定しています。xlsExcelエクスポート機能を実装する可能性はありますか?

4

1 に答える 1

0

アクションからの出力にバイナリ ストリームを返します。

String filename = filters.getPeriod() + "_" +filters.getRegion() ;
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.setHeader("Content-Disposition", "attachment; filename="+filename+".xls");
ServletOutputStream outputStream = httpServletResponse.getOutputStream();
Path fileIn = Paths.get(filename);
Files.copy(fileIn, outputStream); 
outputStream.flush();
return NONE; 
于 2013-07-16T10:11:55.067 に答える