当前位置: 首页 > 知识库问答 >
问题:

无法使用JSF下载excel文件[重复]

栾和玉
2023-03-14

嗨,我一直试图写代码,这样我就可以生成一个excel表,也可以下载当用户点击下载按钮.....我已经成功地生成了excel表,但我尝试下载同样的,但我没有成功。

我使用的方法是:

public void download() throws IOException {
    File file = new File("D:\\pdf\\carrierReport7.xls");

    FacesContext facesContext = FacesContext.getCurrentInstance();

    HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();

    response.setHeader("Content-Disposition", "attachment;filename=" + file.getName());
    response.setHeader("Content-Type", "application/vnd.ms-excel");

    OutputStream outputStream = response.getOutputStream();

    FileInputStream fileInputStream = new FileInputStream(file);

    byte[] bytesBuffer = new byte[2048];

    int bytesRead = 0;

    while ((bytesRead = fileInputStream.read(bytesBuffer)) > 0) {
        outputStream.write(bytesBuffer, 0, bytesRead);
    }

    outputStream.flush();

    fileInputStream.close();
    outputStream.close();

    facesContext.responseComplete();
}

共有1个答案

秦城
2023-03-14

我不知道您是否检查了这个,但是ajax=“false”必须在CommandButton中声明...

<p:commandButton ajax="false" 
                 ..........
</p:commandButton>
 类似资料:
  • 我正在使用chromedriver和selenium从应用程序下载文件。但当点击应用程序中的下载按钮时,它给出的错误是“” Chromedriver版本:2.21硒版本:2.53.0 初始化chrome驱动和更改下载位置的代码: 错误是: 有人能帮我吗?我可以手动从Chrome下载文件。

  • 我正试图用reactJS下载一个xlsx文件,但当我在下载后试图打开我的文件时,我收到了这条消息: “Excel无法打开文件‘file.xlsx’,因为文件格式或文件扩展名无效。请验证文件是否已损坏,以及文件扩展名是否与文件格式匹配。” 这是前端代码: 为什么我得到这个错误?请谁来帮帮我,我被困在这个3周 [编辑1] 我尝试下载的文件是在后端构建的,基本上我获取数据库上的值并使用Apache po

  • 上图显示了数据表中图像的id。当用户单击download时,应该下载对应于该id的图像。然而,我不确定如何做到这一点。有人能给我链接到教程或给我一些如何实现这一点的指针吗?

  • 我在openpyxl中保存Excel文件时遇到问题。我正在尝试创建一个处理脚本,该脚本将从一个excel文件中获取数据,并将其转储到一个转储excel文件中,在excel中使用公式进行一些调整后,我将在转储excel文件中保存所有处理过的数据。我目前的代码也是如此。 自从两三周前我刚开始使用Python以来,我知道我的很多代码都很混乱。我还有几个悬而未决的问题,我可以在以后处理。似乎没有很多人为了

  • 我正在使用Postman测试一个视图,该视图应该允许用户下载excel文件。这是视图。。 问题是,当我测试这个视图时,我无法从postman那里获得下载提示。相反,我从邮递员的回复中得到了损坏的数据。以下是一个示例输出: 为什么我不能下载文件?我错过了什么吗?

  • 在我为客户制作的网站上,当他们尝试使用Internet Explorer 11下载文件时,他们无法从该站点下载文件。 这些文件保存在我们的服务器上,使用上传文件的数据库,位置,名称和MIME类型的文件能够被下载。例如,路径为“/uploaded _ files/6f/AE 69 BD 966 ba 4c 740 b 8073 ff 969 a 5425 b”,文件名为“Finland Test 1