在Richfaces中将数据导出为ex​​cel

时间:2012-12-28 09:05:41

标签: richfaces

您好我正在使用Richfaces 3.3并寻找将数据导出到屏幕的最佳解决方案到Excel文件。需要在用户的计算机上下载文件。我通过互联网搜索,发现POI api可以做到这一点。寻找最佳解决方案。

1 个答案:

答案 0 :(得分:2)

是的,您可以使用Apache的POI api。网络上有很多例子说明如何在java中执行此操作。在JSF中执行此操作并没有太大的不同。
请访问以下链接,了解如何在JSF2中执行此操作 Export to Excel JSF and PrimeFaces
How to export rich:dataTable to excel

以下示例显示了如何在jsf1.2

中执行此操作
public void generate() {
    try {
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("sheet1");

        HSSFRow row = sheet.createRow(0);
        row.createCell(0).setCellValue("1st Col value");
        row.createCell(1).setCellValue("2nd Col value");

        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletResponse res = (HttpServletResponse) context.getExternalContext().getResponse();
        res.setContentType("application/vnd.ms-excel");
        res.setHeader("Content-disposition", "attachment;filename=mydata.xls");

        ServletOutputStream out = res.getOutputStream();
        wb.write(out);
        out.flush();
        out.close();
        FacesContext.getCurrentInstance().responseComplete();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

您需要下载并添加poi-version-yyyymmdd.jar