1

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

4

1 回答 1

2

是的,您可以使用 Apache 的POIapi。网上有很多例子展示了如何在java. 这样做JSF并没有太大的不同。
访问以下链接以了解如何在JSF2.
导出到 Excel JSF 和 PrimeFaces
如何导出 rich:dataTable 到 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.

于 2012-12-31T08:31:51.913 回答