Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Servlet下载Excel_Java_Excel_Servlets_Download_Content Type - Fatal编程技术网

Java 从Servlet下载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

我有以下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 = 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调用接收到的头信息和字节再次创建文件