0

我已经编写了 Java 代码来将 excel 发送到客户端。当用户单击页面中的按钮时,我正在从 java 脚本调用 servlet。但是文件正在同一个浏览器中打开。相反,如何在没有保存/关闭对话框的情况下不在浏览器内以 excel 格式打开文件?

Java Script 单击一个按钮时

 window.location = url+'?Data='+Math.random();

爪哇

String ramdonNumber =this.getHttpRequest().getParameter("Data");
        System.out.println("Inside Action"+ramdonNumber);
        File file = new File("C:/Documents and Settings/XXXXXX/Desktop/RevisedAvailableSeatForSRESR.xls");

        try {
            this.setFileInputStream(new FileInputStream(file));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        HttpServletResponse response = this.getHttpResponse();
        response.setHeader("Content-Type", "application/vnd.ms-excel");
        response.setHeader("Content-Disposition",
                "inline;filename=\"" + file.getName() + ".xls\";");
4

2 回答 2

0

如果您想告诉客户端显示“另存为...”对话框,您应该使用attachment而不是inlinefor Content-Disposition

response.setHeader("Content-Disposition", "attachment;filename=\"" + file.getName() + ".xls\";");

更多信息在RFC-2616 的第 19.5.1 章中提供。

于 2013-07-24T19:36:42.693 回答
0

您需要使用Apache POI库来操作办公文档。http://poi.apache.org/

于 2013-07-24T19:36:55.550 回答