前端js代码
/*导出excel*/
function exportBiannualAssess()
{
var id=$('#id').val();
layer.msg('加载中', {
icon: 16,
shade: 0.01,
time: 40000
});
location.href="xxExport.action?entity.id="+id;
/*定时器判断导出进度是否完成*/
var timer = setInterval(function(){
$.ajax({
url: 'xxIsExport.action?id='+Math.random(),
success: function(data){
if(data.resultCode == 0){
layer.closeAll();
clearInterval(timer);
}
},
error:function(e){
console.log(e.responseText);
}
});
}, 1000);
}
struts2后台代码
@Action(value="xxExport")
public void export() throws IOException
{
httpSession.setAttribute("exportFlag", "true");
HSSFWorkbook wb=xxService.exportExcel(entity);
ServletOutputStream output =
httpServletResponse.getOutputStream();
String title="导出表.xls";
httpServletResponse.reset();
httpServletResponse.setHeader("Content-disposition",
"attachment; filename="+new String(title.getBytes("gb2312"),
"ISO8859-1" ));
httpServletResponse.setContentType("Content-
Type:application/vnd.ms-excel ");
wb.write(output);
output.close();
httpSession.removeAttribute("exportFlag");
}
@Action(value="xxIsExport")
public void isExport()
{
JSONObject jo=new JSONObject();
if(httpSession.getAttribute("exportFlag")==null)
jo.put("resultCode", 0);
else
jo.put("resultCode", -1);
Struts2Utils.renderObjJson(jo.toString(), new String[]{"no-
cache:false"});
}