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