2012-12-28 252 views
1

嗨,我正在使用Richfaces 3.3並尋找將數據導出到屏幕的最佳解決方案以Excel文件。該文件需要在用戶的機器上下載。我通過互聯網搜索,發現POI API可以做到這一點。尋找最佳解決方案。將數據導出到Excel中的excel

回答

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做到這一點。