我有一个excel表6行31列,我想把它导入到我的jsf页面。我成功地在控制台中按顺序显示它,但我找不到一种方法在我的jsf页面中做同样的事情。
这是代码:
public void showfile() throws FileNotFoundException,IOException{
FileInputStream fis= new FileInputStream("C:\Users\tahab_000\Desktop\Test.xls");
HSSFWorkbook wb=new HSSFWorkbook(fis);
HSSFSheet sheet=wb.getSheetAt(0);
FormulaEvaluator formulaEvaluator=wb.getCreationHelper().createFormulaEvaluator();
for(Row row: sheet){
for(Cell cell: row){
switch(formulaEvaluator.evaluateInCell(cell).getCellType()){
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue()+"tt");
s1=s1+cell.getNumericCellValue();
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue()+"tt");
s1=s1+cell.getStringCellValue();
break;
}
}
System.out.println();
}
}
首先,您可以定义一个名为Foo
的类,它具有与excel文件相同的属性。然后,您可以实例化Foo
类的对象并将其添加到List
中,而不是写入控制台。最后,您可以使用jsf显示List
中的值,使用如下代码:
<h:dataTable value="#{beanName.yourList} ..../>"
下面的代码可能会帮助你如何使用jsf显示数据:https://www.mkyong.com/jsf2/jsf-2-datatable-example/