关于将jsp下载为excel问题

Ferri_Qing 2011-08-12 03:27:19
查了一下,用这句话的确可以将jsp下载为excel:<% response.setHeader("Content-disposition","attachment; filename=test1.xls"); %>

但现在有个问题,在jsp的body的onload事件里面,用js动态写入了数据,但是在下载的excel中,就没有数据,我估计是页面加载前就直接将jsp由后台写入到前台,然后下载了,没有等js动态写入就下载了。

怎么解决,公司的框架来着,自己如果写后台,多很多代码,而且部署很麻烦,最简单的方式就是放在js里面生成
跪求!!谁解决100分送上
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
所有数据必须用jsp写流、
如果你返回的是excel就不能用js代码了、
excel中没有js、
所以你的也就没有数据了
softroad 2011-08-12
  • 打赏
  • 举报
回复

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动态写入数据是怎么回事?
蛋黄车 2011-08-12
  • 打赏
  • 举报
回复
那就把它写在onload()后面执行呗~

ajax貌似可以~

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧