我已经使用Apache POI创建了excel文件,并尝试将其返回为对ajax调用的响应.我希望浏览器提示“保存创建的文件”窗口.
问题是我在servlet的响应中出现混乱,没有任何提示或任何提示
我在StackOverflow上发现了类似的问题,但是对他们来说,解决这些问题的方法对我不起作用(或者我错过了).
Here通过使用html标记解决了问题,但据我所知,我不能(在我看来)在SAPUI5中使用它们.
here是一个非常相似的案例,我曾用过,但仍然无法正常工作.
这是客户端代码:
jQuery.ajax({
url : "Export",
type : "post",
mimeType: 'application/vnd.ms-excel',
success : function(){
console.log("data was exported successfully");
},
error: function(){
console.log("error while exporting data");
},
complete: function(){
console.log("exporting data has been completed");
}
});
这是servlet的代码:
response.setContentType("application/vnd.ms-excel");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setHeader("Content-Disposition", "attachment; filename=ReportsData.xls");
ServletOutputStream out = response.getOutputStream();
workbook.write(out);
out.flush();
out.close();
该文件是通过while(result.next())循环中的数据库“ select”错误结果集创建的.
谢谢!