繁体   English   中英

从Servlet下载Excel

[英]Download Excel from Servlet

我在下面的servlet中使用“ GET”方法下载使用apache POI生成的Excel文件。

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=reg_user.xls");

HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Registered Users");

// create workbook

ServletOutputStream out = response.getOutputStream();
workbook.write(out); 
out.flush();
out.close();

然后我对此Servlet进行ajax调用。 但是Excel文件未下载。 当我查看控制台时,它有一些奇怪的字符以及假定的excel文件中的可能数据

+ ) , * # 用户ID 名称 电子邮件地址 手机号码 出生日期 性别 地区 100005085485545

我使用相同的方法使用以下代码将文件写入计算机,并且可以正常工作。

FileOutputStream out = new FileOutputStream(new File("C:\\new.xls"));
workbook.write(out);
out.close();

但是我想要的是自动下载文件,由于某种原因,该文件不起作用。

可能是什么课程? 我已经正确设置了响应内容类型。

完成ajax调用后,浏览器不会显示下载弹出窗口,您应该使用标题信息和从ajax调用接收的字节再次创建文件

好的,实际上问题必须出在我拨打ajax电话。 当我使用<a href="reporting.do?type=USERS">User Report</a>直接调用servlet时,它工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM