查了一下,用这句话的确可以将jsp下载为excel:<% response.setHeader("Content-disposition","attachment; filename=test1.xls"); %>但现在有个问题,在jsp的body的onload事件里面,用js动态写入了数据,但是在下载的excel中,就没有数据,我估计是页面加载前就直接将jsp由后台写入到前台,然后下载了,没有等js动态写入就下载了。怎么解决,公司的框架来着,自己如果写后台,多很多代码,而且部署很麻烦,最简单的方式就是放在js里面生成
跪求!!谁解决100分送上
跪求!!谁解决100分送上
public String download() throws Exception {
try {
String filePath = servletRequest.getParameter("filePath");
File file = new File(filePath);
String fileName = file.getName().replaceAll("\\[.+\\]", "");
fileName = URLEncoder.encode(fileName, "utf-8");
fileName = fileName.replace('+', ' ');
servletResponse.setContentType("application/x-download");
servletResponse.addHeader("Content-Disposition",
"attachment;filename=" + fileName); excelStream = new FileInputStream(file);
}
catch(Exception e) {
write(Tool.getErrorMsg(e.getMessage())); return ERROR;
} return SUCCESS;
}楼主参考下,从你的代码来看,只是给浏览器了个文件名,根本没有对应的文件流。
js动态写入数据是怎么回事?
如果你返回的是excel就不能用js代码了、
excel中没有js、
所以你的也就没有数据了