Java Excel导出功能-从jQuery对话框窗口

Java Excel导出功能-从jQuery对话框窗口,java,jquery,jsp,struts2,download,Java,Jquery,Jsp,Struts2,Download,我需要创建从jQuery对话框窗口导出Excel的功能。我有一个锚定链接,点击它到Struts动作类的链接,从DB中提取数据并导出 我使用jQuery调用该方法,如: public String method { ----------------- method to call backend... -------------------------- httpServletResponse.setContentType("application/vnd

我需要创建从jQuery对话框窗口导出Excel的功能。我有一个锚定链接,点击它到Struts动作类的链接,从DB中提取数据并导出

我使用jQuery调用该方法,如:

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; 
}
jQuery.ajax({
url:“”,
数据:“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
,但假设下载
xls
工作表。这里是否有可能实现Excel导出功能?

将二进制流返回到操作的输出:

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; 

您的ajax url看起来很奇怪。