Java 从Servlet下载Excel
我有以下servlet,在这里我使用“GET”方法下载我使用apachepoi生成的Excel文件Java 从Servlet下载Excel,java,excel,servlets,download,content-type,Java,Excel,Servlets,Download,Content Type,我有以下servlet,在这里我使用“GET”方法下载我使用apachepoi生成的Excel文件 response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment; filename=reg_user.xls"); HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = work
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��名称
��电子邮件地址
��手机号码
��出生日期��性别��场所��1000058548545
我使用同样的方法,使用下面的代码将文件写入我的计算机,它成功了
FileOutputStream out = new FileOutputStream(new File("C:\\new.xls"));
workbook.write(out);
out.close();
但是我想要的是自动下载这个文件,因为某种原因它不起作用
课程可能是什么?我设置的响应内容类型太正确了。好的,实际上问题是我正在进行ajax调用。当我使用
直接调用servlet时,它工作得很好 当ajax调用完成时,浏览器不会显示下载弹出窗口,您应该使用从ajax调用接收到的头信息和字节再次创建文件