代码之家  ›  专栏  ›  技术社区  ›  YLG

需要使用Apache POI在ADF中下载Excelsheet

  •  0
  • YLG  · 技术社区  · 7 年前

    我和ADF一起工作。我看过很多关于用java下载excelsheet的文章,并且尝试了很多方法。

    他们建议使用Servelet。但在我的例子中,我在托管bean中使用ViewObjects和迭代器。工作簿对象(包含所有数据)将在托管bean中形成,我可以在桌面本地保存文件,但在其他桌面上,它不是保存就是在桌面上保存和打开。

                      FacesContext fc = FacesContext.getCurrentInstance();
            HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
            HttpServletRequest request = (HttpServletRequest) fc.getExternalContext().getRequest();
            response = (HttpServletResponse) fc.getExternalContext().getResponse();
          //  ADFUtils.setSessionAttribute("WorkSheetObj", workBook);
            RequestDispatcher dispatcher = request.getRequestDispatcher("/excelsheetdownloadServlet");
    
      response = (HttpServletResponse) fc.getExternalContext().getResponse();
            response.setContentType("application/vnd.ms-excel"); 
            response.setHeader("Content-disposition", "inline;filename=inline.xls"); 
            workBook.write(response.getOutputStream());
    

    但在这里,我必须得到在托管bean中形成的工作簿对象,所以它不起作用。

    我直接尝试在托管bean中编写代码。 但这也帮不了我。请建议我在客户机上下载从Apache POI编写的excelsheet。

    0 回复  |  直到 6 年前